C# 良好的安全性库
MVC3有好的安全库吗?我对轻量级用户角色权限库感兴趣。我可以自己编写这个库,但我想看看是否有一个好的库可以利用,这可以节省一些时间 我可以利用Asp.Net安全性,但我不希望有单独的数据库。是否可以将这些表添加到我的数据库中C# 良好的安全性库,c#,asp.net-mvc-3,C#,Asp.net Mvc 3,MVC3有好的安全库吗?我对轻量级用户角色权限库感兴趣。我可以自己编写这个库,但我想看看是否有一个好的库可以利用,这可以节省一些时间 我可以利用Asp.Net安全性,但我不希望有单独的数据库。是否可以将这些表添加到我的数据库中 重要的一点是,这是一个内部网应用程序,它将使用Active Directory Authentication。我建议使用Rhino Security。我在工作中的一些项目中使用了它,这是一个非常顺利的过程。您不需要单独的数据库 最好的资源可能正在运行。该项目是开源的,已启
重要的一点是,这是一个内部网应用程序,它将使用Active Directory Authentication。我建议使用Rhino Security。我在工作中的一些项目中使用了它,这是一个非常顺利的过程。您不需要单独的数据库
最好的资源可能正在运行。该项目是开源的,已启动。如果使用内置的ASP.NET安全模型(用户、角色等),则可以使用命令/向导将表添加到自己的数据库中 然后可以使用添加用户和分配角色(在VisualStudio中,转到“网站”菜单,然后是“ASP.Net配置”)
然后,在MVC中,您可以使用
[Authorize]
属性()将控制器或操作方法标记为需要授权或特定角色或用户。其全部内容是:什么以及如何保护?
我最近创建了一个基于CRM API的在线服务,并将实体框架(作为我的ORM)与我自己的会员提供商和角色提供商(我告诉了如何使用)
在数据库中,我只有一个简单的tblUsers
和tblRoles
使用.NET提供程序您将很高兴能够轻松地使用以下可用方法:
[Authorize(Roles = "Partner, Admin")]
public ActionResult MyAction()
{
...
}
及
@if(Roles.IsUserInRole(Context.User.Identity.Name,“Admin”))
{
你是管理员,恭喜你!
}
为了保护访问密码,我询问了最佳方法,最后我使用了witch,它非常容易使用
如果您需要的不仅仅是这些,我会选择answer和use with。始终为您的用户/密码/角色提供单独的数据库,我建议您坚持使用.net身份验证提供商。如果您的应用程序遭到破坏,如果您将用户/角色/密码存储在同一数据库中,黑客可能会发现读取这些用户/角色/密码更容易。即使你有加密密码,黑客也有彩虹表(如果他们能读取加密密码,他们也有可能读取salt并强行使其离线) 在.net身份验证提供程序中内置了许多安全功能,而这些功能通常是您在使用自己的身份验证提供程序时不会想到的(使用自己的身份验证提供程序对任何与安全相关的功能都是有害的) 此外,我还想看看OWASP ESAPI for.NET中提供了什么,看看它是否有用。它不是MVC或特定于身份验证的,但会有很多有用的特性可以在整个应用程序中使用 简而言之,回答您的问题:是的,有一个很好的.net安全库,它是内置的
@if (Roles.IsUserInRole(Context.User.Identity.Name, "Admin"))
{
<div>You're an ADMIN, Congrats!</div>
}