Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 良好的安全性库_C#_Asp.net Mvc 3 - Fatal编程技术网

C# 良好的安全性库

C# 良好的安全性库,c#,asp.net-mvc-3,C#,Asp.net Mvc 3,MVC3有好的安全库吗?我对轻量级用户角色权限库感兴趣。我可以自己编写这个库,但我想看看是否有一个好的库可以利用,这可以节省一些时间 我可以利用Asp.Net安全性,但我不希望有单独的数据库。是否可以将这些表添加到我的数据库中 重要的一点是,这是一个内部网应用程序,它将使用Active Directory Authentication。我建议使用Rhino Security。我在工作中的一些项目中使用了它,这是一个非常顺利的过程。您不需要单独的数据库 最好的资源可能正在运行。该项目是开源的,已启

MVC3有好的安全库吗?我对轻量级用户角色权限库感兴趣。我可以自己编写这个库,但我想看看是否有一个好的库可以利用,这可以节省一些时间

我可以利用Asp.Net安全性,但我不希望有单独的数据库。是否可以将这些表添加到我的数据库中


重要的一点是,这是一个内部网应用程序,它将使用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>
}