编辑:这个问题已经过时了 身份框架是我提出这个问题的一个移动目标。 作者改变了很多东西,并将几件事情分离开来,使事情变得更加简单。 看看github上的Asp.NET标识示例项目 。 我正在创build一个需要用户pipe理的小应用程序。 不允许注册,而是有一个超级用户将创build和修改login信息。 我正在使用新的ASP.NET身份authentication系统,当然,创build用户和添加angular色非常简单直观。 现在,我的问题是:如何获得使用生成的AccountController类使用的AuthenticationIdentityManager类的用户列表? 我找不到从我的控制器访问用户列表的方法。 (顺便说一下,新名称“身份”对某些人来说可能听起来很棒,但这是一种痛苦)。 编辑 :如果我试图做到这一点 ApplicationDbContext UsersContext = new ApplicationDbContext(); UsersContext.Users.ToList(); // Exception 我收到一个exceptionInvalid column name 'Discriminator' 。 ApplicationDbContext的定义由新应用程序向导自动生成: using Microsoft.AspNet.Identity.EntityFramework; namespace Cobranzas.Models { public class ApplicationUser : User { } public class ApplicationDbContext : IdentityDbContextWithCustomUser<ApplicationUser> { } } 所以我的猜测是Discriminator列是用来Discriminator UserUser从User 。 但是,它不存在于我的数据库(它是由应用程序自动创build的)。
我想启用ASP.NET MVC 4的SimpleMembership API来与我自己的数据库模式集成。 我在我的数据库中有一个普通而简单的表,名为Users ,这些字段是: ID 名称 密码 电子邮件 请将isDeleted 我已经configuration了SimpleMembership API来使用我的数据库: WebSecurity.InitializeDatabaseConnection("MyStuff", "Users", "Id", "Name", autoCreateTables: true); 我也可以插入一个用户: WebSecurity.CreateUserAndAccount(model.UserName, model.Password, new { IsDeleted = false, Email = "sampledata@gmail.com" }); 然而,密码字段(或它的散列)没有插入Users表(当然),它插入到另一个名为webpages_Membership表中,该表使用InitializeDatabaseConnection调用创build,并包含大量不需要的信息。 此外,我有其他自动创build的表,称为webpages_OAuthMembership,webpages_Roles和webpages_UsersInRoles我不需要。 我已经尝试将表生成设置为false: WebSecurity.InitializeDatabaseConnection("MyStuff", "Users", "Id", "Name", autoCreateTables: false); 但在这种情况下,CreateUserAndAccount调用将抛出一个exception,因为它不会findwebpages_Membership表。 它看起来像我想要使用SimpleMembership API时所需的这些表。 我的问题是:当我只想要一个简单的Users表,而不需要什么时,我应该怎么做呢? 我必须自己编写整个成员资格处理和authentication逻辑(散列码生成等)吗?
目前每当我尝试注册一个用户或login使用默认的成员服务内置到我的主机提供商DiscountASP ASP.Net MVC4我收到错误 为了调用这个方法,“Membership.Provider”属性必须是“ExtendedMembershipProvider”的一个实例。 这不会在本地发生。 这是我的InitializeSimpleMembershipAttribute.cs : [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)] public sealed class InitializeSimpleMembershipAttribute : ActionFilterAttribute { private static SimpleMembershipInitializer _initializer; private static object _initializerLock = new object(); private static bool _isInitialized; public override void OnActionExecuting(ActionExecutingContext filterContext) { // Ensure ASP.NET Simple Membership is initialized only once per app […]
我正在将一个新的区域添加到现有的mvc 3razor应用程序中,作为pipe理某些设置和内容的pipe理区域。 该网站的其他部分目前由一个自定义提供商进行安全authentication我们的客户。 现在我需要validation一些员工访问pipe理区域,客户端用户数据的数据库和格式完全不同于我们员工需要的数据库和格式。 这可能没有很多头痛吗?
我们开始devise一些新的服务来创build(WCF,ADO.NET数据服务,可能在某个时候在云端),popup一个问题是使用什么authentication和授权scheme – 几个! 我们基本上需要能够根据各种协议(HTTP,HTTPS,TCP)来识别用户(实际的人员和“虚拟”应用/服务用户),并且我们需要为他们分配至less一堆angular色/权限看到某些数据和/或做某些操作。 我们绝对不能单独使用Windows组成员身份 – 我们有大量的服务外部消费者,我们不希望为每个人在我们的内部域中build立一个域帐户。 所以主要有三个select,我想: 使用ASP.NET成员资格系统 – 在那里创build用户并分配angular色 使用AzMan(授权pipe理器)似乎是一个更细化,更成熟,更精细的系统(用户,任务,组 – 三个级别,而不仅仅是用户+angular色) 滚我们自己的 首先 – 你推荐哪三个? 任何为什么? 其次 – 有更多的select,我错过了? 感谢任何提示,指针,意见! 渣子 PS:到目前为止看到的答案,我很惊讶的人数投票选项#3。 我会认为,MS将能够devise可以处理所有这些要求的可重用的东西….
我试图避免使用angular色提供者和会员提供者,因为我觉得它太笨拙了,所以我正在努力制作我自己的“版本”,这个版本不那么笨拙,更容易pipe理/灵活。 现在是我的问题..是否有一个替代品的angular色提供者是不错的? (我知道我可以做自定义angular色provier,会员供应商等) 通过更易于pipe理/灵活的我的意思是,我只能使用Roles静态类,而不是直接实现到与数据库上下文交互的服务层中,而是使用具有自己的数据库上下文的Roles静态类等等,也是表名是可怕的.. 提前致谢。
评估方法签名,在更改旧密码时需要知道。 membershipUser.ChangePassword(userWrapper.OldPassword, userWrapper.Password) 有没有办法改变密码而不知道旧的。
这个? 通配符表示未authentication的用户, *表示所有用户,已authentication且未authentication。 我的书显示了以下URL授权示例: <authorization> <deny users="?" /> <allow users="dan,matthew" /> <deny users="*" /> </authorization> 但是上面的代码不会有如下效果: <authorization> <allow users="dan,matthew" /> <deny users="*" /> </authorization> 还是作者还包括<deny users="?" /> <deny users="?" />规则是有原因的?
我正在使用Membership.create用户函数,然后出现以下错误, 所需的防伪表单字段“__RequestVerificationToken”不存在 我怎样才能解决这个问题?
我不知道我缺less什么,但我在Web.config文件中添加了configuration文件属性,但无法访问configuration文件。 在代码中的项目或创build一个新的configuration文件。