相关疑难解决方法(0)

使用simplemembership在新的MVC 4 Internet模板中进行基于角色的身份验证

我喜欢MVC 4互联网模板中的新简单会员功能,其中包含指向VS 2012 RTM中外部登录的OAuth的链接.在大多数情况下,身份验证功能正常运行 然而,即使花了超过8个小时,我也无法实现基于角色的授权来操作我的控制器.SimpleMembership变得简单.

我已搜查计算器,用Google搜索和阅读已通过最新的约翰·加洛韦,尝试了很多的建议,仍然没有能够resovle这个问题.这一切都始于获取Sql连接错误,无法弄清楚为什么连接字符串和其他一切都很好.需要花费很多时间才能弄清楚Roles类是否会导致问题.

控制器上的[Authorize]属性与以前一样用于基本身份验证.但是每当我尝试使用Roles时,它都会给出sql连接错误(因为它会恢复到旧的DefaultRolesProvider,它会尝试连接到默认的SqlExpress aspnetdb文件并失败).所以类似于:

[Authorize(Roles="admin")]
Run Code Online (Sandbox Code Playgroud)

不起作用.如果我回到旧的asp.net成员资格提供程序,它会工作,但后来我丢失了简单的数据库表,令牌库确认和恢复,更安全的密码哈希,更重要的是通过OAuth进行外部登录.

在代码和剃刀视图中唯一有用的是

User.IsInRole("admin")
Run Code Online (Sandbox Code Playgroud)

这对于菜单项等是可以的,但是在控制器中的每个Action中实现都很麻烦(我不喜欢它一次只测试单个角色).

我将非常感谢任何有关解决此问题的指导.

roles asp.net-mvc-4 simplemembership

53
推荐指数
2
解决办法
6万
查看次数

ASP MVC授权错误

当我使用时:

[Authorize]
public ActionResult Index() {
    ....
    return View();
}
Run Code Online (Sandbox Code Playgroud)

要么

[Authorize(Users="john")]
public ActionResult Index() {
    ....
    return View();
}
Run Code Online (Sandbox Code Playgroud)

我的脚本运行良好但我使用时:

[Authorize(Roles="Admin")]
public ActionResult Index() {
    .....
    return View();
}
Run Code Online (Sandbox Code Playgroud)

错误:

建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.验证实例名称是否正确,以及SQL Server是否配置为允许远程连接.(提供程序:SQL网络接口,错误:26 - 查找指定的服务器/实例时出错).

asp.net-mvc asp.net-mvc-4 asp.net-mvc-5 asp.net-identity

7
推荐指数
1
解决办法
1217
查看次数