我在我的数据库中有几张表,指定了哪些用户(根据你的AD用户名)可以使用我正在构建的ASP.NET MVC 2应用程序。
我的问题是如何编写一个方法(或更可能是在哪里和在哪里放置它?在主页上?)来从HTTP上下文中获取AD用户,并将其与数据库进行验证,以查看您是否可以实际使用该应用程序?如果可以...想法是在Session对象中写入一些关键信息(角色、全名等)。
我对我应该如何完成这项任务感到非常困惑,不确定这是否是正确的方式...请记住,我的应用程序中有管理部分和非管理部分。
任何想法?
编辑:请记住,我不关心通过表单认证用户。我只想检查根据我的数据库和您的AD用户名,您是否可以使用我的应用程序。如果可以写入会话以保存我需要的信息。否则只需抛出错误页面。
这是我目前已经实现的,这是正确的方式吗?第二个方法是干什么用的?(很抱歉我对C#还比较新)我想要做的实际上是在未经授权时抛出视图...
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
var isAuthorized = base.AuthorizeCore(httpContext);
if (isAuthorized)
{
var canUse = this._userRepo.CanUserUseApp(httpContext.User.Identity.Name);
if (!canUse)
{
isAuthorized = false;
}
}
return isAuthorized;
}