Tfs kurulumu ilgili dökümanı adım adım uygulayarak yaptığınızda genelde bir sorun çıkmıyor, ancak bir şekilde kullanıcılarla ilgili gerekli ayarları yapamadığım için , tfs kurulumu tamamlanıp yeni bir proje oluşturmaya çalıştığım anda aşağıdaki hatayı alıyordum.
—begin Exception entry—
Time: 2009-11-22 13:39:02Z
Module: Initializer
Event Description: TF30207: Initialization for plugin “Microsoft.ProjectCreationWizard.Reporting” failed
Exception Type: Microsoft.TeamFoundation.Client.PcwException
Exception Message: Insufficient permissions to create a new SQL Server Reporting Services at TFSAPPSERVER.
Exception Details: The permissions granted your user name and ID on the SQL Server Reporting Services at TFSAPPSERVER
do not allow you create a new project. You must be granted specific permission
by the server administrator.
Stack Trace:
at Microsoft.VisualStudio.TeamFoundation.RosettaReportUploader.CheckForProjectFolder(PrivateData data, String projectName, ProjectCreationContext context)
at Microsoft.VisualStudio.TeamFoundation.RosettaReportUploader.Initialize(ProjectCreationContext context)
at Microsoft.VisualStudio.TeamFoundation.EngineStarter.InitializePlugins(MsfTemplate template, PcwPluginCollection pluginCollection)
– Inner Exception –
Exception Type: Microsoft.TeamFoundation.TeamFoundationServerUnauthorizedException
Exception Message: TF30063: You are not authorized to access TFSAPPSERVER.
Stack Trace:
at Microsoft.TeamFoundation.Client.TeamFoundationSoapProxy.ThrowIfUnauthorized(HttpWebResponse response)
at Microsoft.TeamFoundation.Client.TeamFoundationSoapProxy.GetWebResponse(WebRequest request)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at Microsoft.TeamFoundation.Proxy.Reporting.ReportingService.ListChildren(String Item, Boolean Recursive)
at Microsoft.VisualStudio.TeamFoundation.RosettaReportUploader.CheckForProjectFolder(PrivateData data, String projectName, ProjectCreationContext context)
– end Inner Exception –
— end Exception entry —
Hata nın SPN denilen birşeye benim reportservice kullanıcımın sahip olmaması neden oluyordu. Ancak bunu anlayana kadar domain admin olan kullanıcımı local tfs makinesi ve ilgili groupların tümüne yetki vermiştim. Olmamasının tek nedeni yetki eksikliği değil spn eksikliğiymiş
.
Bunuda şurdan anladım :
Using RSWindowsNegotiate will result in a Kerberos authentication error if you configured the Report Server service to run under a domain user account and you did not register a Service Principal Name (SPN) for the account. For more information, see Resolving Kerberos Authentication Errors When Connecting to a report server in this topic.
Daha sonra şurdaki çözümü uyguladım :
Use NTLM. NTLM will generally work in cases where Kerberos authentication fails. To use NTLM, remove RSWindowsNegotiate from the RSReportServer.config file and verify that only RSWindowsNTLM is specified. If you choose this approach, you can continue to use a domain user account for the Report Server service even if you do not define an SPN for it.
Gidip RSReportServer.config dosyasını bulup ordaki <RSWindowsNegotiate/> tag ini sildim. Ve sorun giderilmişti.
Kaynak : http://msdn.microsoft.com/en-us/library/cc281253.aspx#proxyfirewallRSWindowsNegotiate
Son Yorumlar