网上找了很多文章,现在的问题是用域帐号可以登录站点并且给sql 用户授权。但是授权的sql用户不能登录站点,提示没有权限。而且有点用户用权限检查也可以检查到权限。 以下是配置文件, 我只定义了membershipprovider 没有定义rolemanager. 之前写过一个简单的membershipprovider 的代码只重写了两个方法,还可以授权并且登录,现在却不知道什么问题
<membership defaultProvider="i"> <providers> <add name="i" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthMembershipProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" /> <add connectionStringName="connectionString" applicationName="/" name="SAPProvider" type="MemberShipProviderForSAP.SAPProvider,MemberShipProviderForSAP, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5c4da3b74518c687" /> </providers> </membership> <roleManager defaultProvider="c" enabled="true" cacheRolesInCookie="false"> <providers> <clear/> <add name="c" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" /> </providers> </roleManager> </system.web> <connectionStrings> <add connectionString="Server=localhost;Database=xxxDB;Integrated Security=true" name="connectionString" providerName="System.Data.SqlClient" /> <!--<add connectionString="Server=localhost;Database=aspnetdb;Integrated Security=true" name="MyAspNetDB" providerName="System.Data.SqlClient" />--> </connectionStrings>
把自己写的MemberShipProvider放到一个普通的web应用程序下是可以成功登录的。
rolemanager 也要定义的。
另外需要修改三个地方的web.config:
1. center admin site's web.config.
2. STS servrice's web.config
3. Web Application's web.config
登陆必须输入SharePoint网站中用户的显示名称