作为ASP MVC的新手,我不确定哪个更适合我的需求.我使用Windows身份验证构建了一个Intranet站点,并且我能够使用Active Directory角色保护控制器和操作,例如
[Authorize(Roles="Administrators")]
[Authorize(Users="DOMAIN\User")]
public ActionResult SecureArea()
{
ViewBag.Message = "This is a secure area.";
return View();
}
Run Code Online (Sandbox Code Playgroud)
我需要独立于AD角色定义自己的安全角色.所需的功能是,根据与我们的应用程序数据库中的配置文件相关联的一个或多个角色,经过身份验证的用户被授予对特定操作的访问权限,例如:"经理","用户","访客","分析师","开发人员"等.
如何创建自定义角色提供程序和/或自定义授权属性?
asp.net asp.net-mvc windows-authentication asp.net-authorization asp.net-mvc-5
我正在创建一个将在我们公司内部网上使用的工作流工具.用户通过Windows身份验证进行身份验证,我设置了一个自定义RoleProvider,将每个用户映射到一对角色.
一个角色表示他们的资历(访客,用户,高级用户,经理等),另一个角色表示他们的角色/部门(分析,开发,测试等).Analytics中的用户可以创建一个请求,然后将链向上流到Development等等:
楷模
public class Request
{
public int ID { get; set; }
...
public virtual ICollection<History> History { get; set; }
...
}
public class History
{
public int ID { get; set; }
...
public virtual Request Request { get; set; }
public Status Status { get; set; }
...
}
Run Code Online (Sandbox Code Playgroud)
在控制器中,我有一个Create()方法,它将创建Request头记录和第一个History项:
请求控制器
public class RequestController : BaseController
{
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create (RequestViewModel rvm)
{
Request request = rvm.Request
if(ModelState.IsValid)
{
...
History history = …Run Code Online (Sandbox Code Playgroud) 我创建了一个带有SignalR通知的ASP MVC 4应用程序.我在本地调试模式下运行它,也通过IIS发布在服务器上运行它.在使用Internet Explorer 11时,这主要适用于(稍后解释)预期:
HTML1300: Navigation occurred.
File: AllChanges
SignalR: Window unloading, stopping the connection.
SignalR: Stopping connection.
SignalR: Stopping forever frame.
SignalR: Fired ajax abort async = false.
SignalR: Stopping the monitoring of the keep alive.
JQMIGRATE: Migrate is installed, version 3.0.0
SignalR: Client subscribed to hub 'prismhub'.
SignalR: Negotiating with '/signalr/negotiate?clientProtocol=1.5&connectionData=%5B%7B%22name%22%3A%22prismhub%22%7D%5D'.
SignalR: serverSentEvents transport starting.
SignalR: This browser doesn't support SSE.
SignalR: serverSentEvents transport failed to connect. Attempting to fall back.
SignalR: foreverFrame transport starting.
SignalR: Binding …Run Code Online (Sandbox Code Playgroud)