发布的here解决方案是为了让配置管理器启动......但是......
您选择的数据存储存在问题。这可能是造成的 由无效的服务器名称或凭据,或由不足 允许。它也可能是由角色管理器功能引起的 被启用。单击下面的按钮可重定向到其中的页面 您可以选择新的数据存储。
从以前的版本开始,角色管理器将是第一个在“安全”选项卡上访问的东西 - 设置角色。但是“安全”选项卡是出现此错误的位置。
我已选择并成功测试了数据提供商。
提供商管理已成功建立与该连接的连接 数据库中。
可以肯定的是,WebConfig文件中没有roleManager部分。
现在怎样?似乎是MS就该主题进行了不少冗长的讨论,但没有有用的解决方案。我尝试在我的WebConfig文件中添加部分,但是当我尝试从项目中运行任何文件时,我得到的都是“缺少部分”错误。所以我把它们拿出来了(项目运行了。
那么如何为项目启用登录(VS 2013 Web Internet MVC?)
(非常感谢MS从VS 2013 Web中的工具栏中删除了非常有用的Web配置工具....显然没有人创建Web应用程序需要Web配置工具......)
使用VS 2010 Web上的先前项目找到临时解决方案。我的演示所需要的是创建帐户的能力。该项目的设立允许创建帐户。
<system.web>
<!-- add role manager -->
<roleManager enabled="true"/>
<!--<authentication mode="None" />-->
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880"></forms>
</authentication>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
所以,现在,我可以创建一个用户。 如果MS只是将“按钮”放回去,那就太好了。
将角色放入我的SQL数据库仍然遇到问题。但不知何故,必要的“默认连接”出现在必要的表格中。不太确定发生了什么。需要永久解决方案。
正在运行的Web.config文件需要两个定义: 1. connectionString 2. roleManager
我的SQL DB的连接字符串允许我输入和更新应用程序数据(但不是用户角色或ID)
<add name="**MyData**"
connectionString="Data Source=localhost\MyDB;Initial Catalog=MyData;Integrated Security=True;"
providerName="System.Data.SqlClient" />
其中MyDB是实例的名称,MyData是数据库的名称
roleManager使用连接字符串的名称(MyData) (如上所述,这不完全正常。用户的登录数据仍然存储在默认连接中....即使我将其从web.Config文件中删除并将其从项目。)
<system.web>
<!-- add role manager
<roleManager defaultProvider="SqlProvider"
enabled="true"
cacheRolesInCookie="true"
cookieName=".ASPROLES"
cookieTimeout="30"
cookiePath="/"
cookieRequireSSL="false"
cookieSlidingExpiration="true"
cookieProtection="All">
<providers>
<add name="SqlProvider"
type="System.Web.Security.SqlRoleProvider"
connectionStringName="**MyData**"
applicationName="/"/>
</providers>
</roleManager>
随后...... 身份验证模式的这些设置正确返回我已设置为要求身份验证的页面/部分的“登录”页面。我对不同的页面/部分有不同的要求。
<authentication mode="Forms">
<!-- sets page to Account/Login for access to restricted pages-->
<forms loginUrl="~/Account/Login" timeout="2880"></forms>
</authentication>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
我的一个控制器的一个例子......
namespace MyProject.Controllers
{
[Authorize(Roles = "Manager, Administrator")]
public class ResidentController : Controller
{
// remainder of controller file
}
}