【发布时间】:2013-08-21 06:02:20
【问题描述】:
我将我的项目上传到 IIS,我使用了我的客户 sqlmembership 提供程序。并创建了角色和用户,但是当我试图编辑/删除/更新数据时,它告诉我“你没有这样做的权限”但在里面角色已经定义它可以做到这一点。 另外,我正在使用 VS ASP.NET 配置工具来添加用户和角色,但是当单击 AspNetSqlRoleProvider 上的测试按钮时,它告诉我找不到数据库。它与 VS 内置服务器工作正常,但我上传了 II,它给出了错误。
这是 web.config 的一部分
<system.web>
<roleManager enabled="true" />
<customErrors mode="RemoteOnly" defaultRedirect="~/Admin/Hata.aspx" />
<authentication mode="Forms">
<forms cookieless="AutoDetect" loginUrl="~/Login.aspx" />
</authentication>
<membership defaultProvider="MySqlMembershipProvider">
<providers>
<clear/>
<!--Add a customized SqlMembershipProvider -->
<add name="MySqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider"
connectionStringName="OSProjeConnectionString" enablePasswordRetrieval="false"
enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
passwordFormat="Hashed" maxInvalidPasswordAttempts="15" minRequiredPasswordLength="5"
minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
passwordStrengthRegularExpression="">
</providers>
</membership>
<connectionStrings>
<add name="OSProjeConnectionString" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=OSProje;Integrated Security=SSPI; User ID=sa;Password=password;" />
</connectionStrings>
....... ....................
编辑: 我解决了添加此行的问题
<roleManager defaultProvider="roleProvider">
<providers>
<add connectionStringName="OSProjeConnectionString"
name="roleProvider"
type="System.Web.Security.SqlRoleProvider" />
</providers>
</roleManager>
【问题讨论】:
-
你能显示“OSProjeConnectionString”吗?
-
是的,我添加了连接字符串
-
更改 Integrated Security=false,这样它将使用连接字符串中提供的用户名和密码。
-
更多详情请参考this
-
我改变了,但仍然告诉我找不到 AspNetSqlRoleProvider
标签: asp.net sql-server iis-7