标签: asp.net-membership

所需的防伪表单字段"__RequestVerificationToken"不存在用户注册中的错误

我正在使用Membership.create用户功能,然后发生以下错误,

所需的防伪表单字段"__RequestVerificationToken"不存在

我怎样才能解决这个问题?

asp.net-membership asp.net-mvc-4

136
推荐指数
10
解决办法
18万
查看次数

如何分配配置文件值?

我不知道我缺少什么,但我在Web.config文件中添加了配置文件属性,但无法访问配置文件.代码中的项目或创建新的配置文件.

asp.net profile asp.net-mvc asp.net-membership

110
推荐指数
4
解决办法
6万
查看次数

为什么<deny users ="?" />包含在以下示例中?

?通配符表示未经授权的用户,同时*代表了所有用户,认证和未.我的书显示了以下URL授权示例:

<authorization>
  <deny users="?" />
  <allow users="dan,matthew" />
  <deny users="*" />
</authorization>
Run Code Online (Sandbox Code Playgroud)


但是上面的代码不具有与以下相同的效果:

<authorization>
  <allow users="dan,matthew" />
  <deny users="*" />
</authorization>
Run Code Online (Sandbox Code Playgroud)

或者作者是否还包括 <deny users="?" />规则?

asp.net authentication authorization forms-authentication asp.net-membership

71
推荐指数
2
解决办法
13万
查看次数

如何在SimpleMembership和WebSecurity中使用自己的数据库?什么是MVC4安全性?

我已经阅读了我能找到的关于这个主题的所有内容,包括MSDN文章和SO帖子,但我仍然非常迷茫和困惑.

问题

请回答以下内容(如果可能,请简要回答):

  1. 什么是SimpleMembership/SimpleMembershipProvider(WebMatrix.WebData)以及它们负责的是什么?

  2. 什么是WebSecurity(WebMatrix.WebData)?

  3. 什么是Membership(System.Web.Security)类?

  4. 为什么MVC4会创建一个UserProfile表和一个webpages_Membership表?它们是什么,有什么区别?MVC4创建的UserProfile类是什么?

  5. 什么是UsersContext类?

  6. 所有这些如何协同工作以进行用户身份验证?

我的情况

这些问题然后导致下一个问题:

假设我有一个包含用户的现有数据库(ID,用户名,密码).我正在创建一个新的MVC4应用程序并使用表单身份验证.用户密码以加密形式(不是bcrypt)存储在数据库中.

我需要做些什么才能使它与MVC4一起使用?

我是否必须创建自定义MembershipProvider

我的知识远远不够

据我所知,WebSecurity是一个静态类(Module),它与MembershipProvider交互.MembershipProvider是一个解释特定函数如何工作的类,例如ValidateUser,CreateUser,ChangePassword.

为了解决我的问题,我假设我需要创建一个自定义MembershipProvider并告诉WebSecurity使用我的新MembershipProvider.

赏金?

我已经在这个问题上获得了赏金,并打算将其授予安迪·布朗,以获得出色的答案.

forms-authentication asp.net-membership membership-provider asp.net-mvc-4 simplemembership

61
推荐指数
1
解决办法
3万
查看次数

asp.net会员更改密码而不知道旧密码

评估方法签名时,需要在更改密码时知道旧密码.

membershipUser.ChangePassword(userWrapper.OldPassword, userWrapper.Password)
Run Code Online (Sandbox Code Playgroud)

有没有办法在不知道旧密码的情况下更改密码.

asp.net asp.net-membership change-password forgot-password

58
推荐指数
3
解决办法
4万
查看次数

ASP.NET MVC - 角色提供者的替代方案?

我试图避免使用角色提供者和成员资格提供者,因为在我看来它过于笨拙,因此我正在尝试制作我自己的"版本",它不那么笨拙,更易于管理/灵活.现在是我的问题..角色提供者有替代方案吗?(我知道我可以做自定义角色提供者,会员提供者等)

通过更易于管理/灵活,我的意思是我只能使用Roles静态类而不是直接实现到与数据库上下文交互的服务层,而是我必须使用具有自己的数据库上下文的Roles静态类等,表名也很糟糕..

提前致谢.

asp.net authentication asp.net-mvc authorization asp.net-membership

46
推荐指数
2
解决办法
2万
查看次数

使用成员资格提供程序的ASP.NET MVC 4 Web API身份验证

我有一个使用Web API的ASP.NET MVC 4项目.在控制器上,我已使用[Authorize]属性将类设置为需要授权.对于身份验证我使用ASP.NET成员资格提供程序并将我的Web.Config设置为使用"表单"身份验证.这是我被困的地方:

一切都工作得很好,直到我完成测试API的步骤,我想用[Authorize]属性保护控制器,这样我就可以开始对我的Membership Provider中的用户进行身份验证.所以我启动Fiddler并进行相同的调用,添加Authorization:Basic属性以及来自我的会员提供者的用户名:密码,如下所示:

在此输入图像描述

我得到的响应是未经授权的401,在"Auth"下,我得到"没有WWW-Authenticate Header".然后我意识到API正在寻找SHA1编码密钥.所以我从搜索中启动一个SHA1生成器并获取我的用户名的密码:password并更新我的Request Header,如下所示:

在此输入图像描述

这也不起作用,我得到相同的结果.此外,我显然需要某种"共享密​​钥"与服务器一起使用来解码我的用户名/密码.

所以我的问题:

  1. 如何从服务器获取此密钥(或者在这种情况下,虚拟IIS运行VS 2012).
  2. 如何使用它来使用ASP.NET成员资格提供程序中的用户名/密码在Fiddler中进行Authenticated调用.
  3. 如何在我的客户端应用程序中使用它来进行相同的调用(C#WPF应用程序).
  4. 在我的HTTP调用中与SSL结合使用时,这是最好的吗?如果不是什么?

提前致谢!

asp.net-mvc forms-authentication asp.net-membership fiddler asp.net-web-api

43
推荐指数
1
解决办法
4万
查看次数

自定义授权属性

我正在构建自己的会员系统,我想要与MS会员提供商无关.我查看了互联网和StackOverflow,但我所能找到的只是建立在MS会员提供商之上的会员提供商.

无论如何,我现在几乎所有东西都挂了,但我想使用自定义的Authorize属性来利用我的会员基础设施.我在网站上查看了这个帖子,我正在尝试做类似的事情,但我不确定我需要的是什么.到目前为止,这些是我得到的课程:

SessionManager:

public static class SessionManager : ISessionManager
{
    public static void RegisterSession(string key, object obj)
    {
        System.Web.HttpContext.Current.Session[key] = obj;
    }

    public static void FreeSession(string key)
    {
        System.Web.HttpContext.Current.Session[key] = null;
    }


    public static bool CheckSession(string key)
    {
        if (System.Web.HttpContext.Current.Session[key] != null)
            return true;
        else
            return false;
    }


    public static object ReturnSessionObject(string key)
    {
        if (CheckSession(key))
            return System.Web.HttpContext.Current.Session[key];
        else
            return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

SharweAuthorizeAttribute: (我真的不知道,如果这确实是我应该做的事)

public class SharweAuthorizeAttribute : AuthorizeAttribute
{
    protected override bool AuthorizeCore(HttpContextBase httpContext) …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc asp.net-membership asp.net-mvc-3

40
推荐指数
1
解决办法
3万
查看次数

.NET 4.0中的自定义MembershipProvider

这里有一些关于这个问题的线索,但是大多数都已经过时了,其中的参考链接更加过时了.

我有这个网站,我需要连接到一个外部的SQL服务器(mssql)与它自己的表结构,使用默认的asp.net成员资格提供程序结构不是一个选项.表格布局非常简单,使用方式看起来像这样(它叫做个人)

Individuals
- UserGuid (uniqueidentifier/guid, unique)
- Name (varchar)
- Password (varchar)
- HasAccess (tinyint/ 1 or 0)
- DateTime (datetime)
- Log (xml)
Run Code Online (Sandbox Code Playgroud)

所需的功能只是记录某人,其余的没有必要:)

我遵循了一些指南,但其中大多数已经过时且非常复杂.不幸的是,msdn示例遵循这种模式,文档不是很好.

因此,如果有人得到一些资源显示如何或愿意发布代码示例或类似的东西,我会很感激.

谢谢!

asp.net asp.net-membership membership-provider

40
推荐指数
1
解决办法
3万
查看次数

如何从ASP.NET身份获取用户列表?

编辑:这个问题已经过时了

在我问这个时,身份框架是一个移动目标.作者改变了很多东西,他们将几件事分开,使事情变得更容易.

看看github上的Asp.NET Identity Sample项目.


我正在创建一个需要用户管理的小应用程序.不允许注册,而是有超级用户将创建和修改登录信息.

我正在使用新的ASP.NET身份会员系统,当然,创建用户和添加角色非常简单直观.

现在,我的问题:如何使用生成的AccountController类使用的AuthenticationIdentityManager类获取用户列表?我找不到从我的控制器访问用户列表的方法.

(顺便说一句,新名称"身份"对某些人来说可能听起来很棒,但搜索却很痛苦.)

编辑:如果我尝试这样做

ApplicationDbContext UsersContext = new ApplicationDbContext();
UsersContext.Users.ToList(); // Exception
Run Code Online (Sandbox Code Playgroud)

我得到一个例外Invalid column name 'Discriminator'.ApplicationDbContext的定义由新的应用程序向导自动生成:

using Microsoft.AspNet.Identity.EntityFramework;

namespace Cobranzas.Models
{
    public class ApplicationUser : User
    {

    }
    public class ApplicationDbContext : IdentityDbContextWithCustomUser<ApplicationUser>
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

所以我的猜测是,Discriminator列告诉分开ApplicationUserUser.但是,它在我的数据库中不存在(由应用程序自动创建).

asp.net asp.net-membership asp.net-mvc-5 asp.net-identity

40
推荐指数
2
解决办法
7万
查看次数