标签: membership-provider

用户在线吗?

我是ASP.NET成员新手,到目前为止大多数解决方案都不适用于我.我想实现一个简单的查询,检查用户是否在线并返回布尔结果.我正在使用ASP.NET成员资格和配置文件提供程序.

Maybe a function like this:

    public boolean IsUserOnline(string userName)
{
    boolean result ={some query string here......}

    return result;

}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗??

asp.net-mvc asp.net-membership membership-provider

2
推荐指数
1
解决办法
2378
查看次数

为什么我的 asp.net 会员登录页面不能使用重定向?

我使用 ASP.NET 会员资格提供程序在我的本地机器上设置了这个会员网站。当我去:

http://localhost/admin/

它把我重定向到

http://localhost/Login.aspx?ReturnUrl=%2fadmin%2fDefault.aspx

这很好。但是在我输入登录信息后,页面似乎刷新了。它实际上并没有让我登录,它看起来只是刷新了页面。如果我将 URL 更改为:

http://localhost/Login.aspx

它工作正常。它让我登录没问题,并将我重定向到我的默认页面。我还检查了实时站点,它也做同样的事情。有任何想法吗?提前致谢!

编辑:这是标记:

<asp:Login ID="Login1" runat="server" CssClass="LoginBox" TitleText="Please Log In">
    <LayoutTemplate>
        <h2>
            Please Log In:</h2>
        <p runat="server" id="FailureText" visible="false">
            Either your email address or password was incorrect. Please try again.</p>
        <strong>Email</strong><br />
        <asp:TextBox ID="UserName" runat="server"></asp:TextBox>
        <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName"
            Text="*"></asp:RequiredFieldValidator>
        </p>
        <p>
            <strong>Password</strong><br />
            <asp:TextBox ID="Password" runat="server" TextMode="Password"></asp:TextBox>
            <asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password"
                Text="*"></asp:RequiredFieldValidator>
        </p>
        <p>
            <asp:Button ID="Login" CommandName="Login" runat="server" Text="Log In" /></p>
        <p>
            Please <a runat="server" id="Link_ContactUs">contact </a>an administrator if you …
Run Code Online (Sandbox Code Playgroud)

asp.net redirect asp.net-membership membership-provider returnurl

1
推荐指数
1
解决办法
4597
查看次数

.NET自定义MembershipProvider解密密码

我在ac#项目中使用自定义的MemberShipProvider,基于以下代码:http://www.asp.net/learn/videos/video-189.aspx,由于某种原因我无法弄清楚,方法是解密用户密码以验证登录在密码值前面增加了8个字符(例如:䝉惯尝㳪畕锬密码).

我使用"加密"的passwordFormat和UnEncodePassword方法包含:

private string UnEncodePassword(string encodedPassword)
{
    string password = encodedPassword;
    password = Encoding.Unicode.GetString(DecryptPassword(Convert.FromBase64String(encodedPassword)));

    return password;
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

.net c# asp.net-membership membership-provider

1
推荐指数
1
解决办法
3890
查看次数

为什么会员提供者不是通用的?

我不得不承认我讨厌会员提供者.默认实现通常不太合适,到目前为止我还没有看到自定义成员资格提供程序的良好实现,可能是因为这是不可能的:-)

所以问题是:

在您看来:哪些是没有会员/角色提供者作为通用类的原因?我的意思是,为什么微软没有选择这种方法.

编辑

阅读答案我意识到可能还不够清楚,我在谈论MembershipProvider和RoleProvider.不是关于ASP NET的核心认证机制.

c# asp.net generics membership-provider

1
推荐指数
1
解决办法
394
查看次数

ASP.NET FormsAuthentication不使用默认的MembershipProvider

我创建了一个继承自MembershipProvider的BasicMembershipProvider类,在实现时,不会调用ValidateUser.这是我的设置:

web.config中

<membership defaultProvider="BasicMembershipProvider">
  <providers>
    <clear/>
    <add name="BasicMembershipProvider" type="MyMVCProject.Providers.BasicMembershipProvider"/>
  </providers>
</membership>
Run Code Online (Sandbox Code Playgroud)

BasicMembershipProvider.cs

public class BasicMembershipProvider : MembershipProvider
{       
  //THIS FUNCTION NEVER GETS CALLED
  public override bool ValidateUser(string email, string password)
  {
       //Do custom checks.
  }
}
Run Code Online (Sandbox Code Playgroud)

调节器

FormsAuthentication.Authenticate(model.Email, model.Password)
Run Code Online (Sandbox Code Playgroud)

这是用我自己的会员逻辑覆盖MembershipProvider的方法吗?如果是这样,为什么ValidateUser我打电话时不会调用覆盖的函数FormsAuthentication.Authenticate()

asp.net-mvc membership-provider

1
推荐指数
1
解决办法
1140
查看次数

ASP.NET User.Identity.Name替代?

我已经创建了自定义成员资格提供程序,操作MembershipUser.ProviderUserKey而不是UserName 对我来说更方便.所以,检索ProviderUserKey我执行这样的代码:

if (User.Identity.IsAuthenticated)
{
  int UserID = (int)Membership.GetUser(User.Identity.Name).ProviderUserKey;
}
Run Code Online (Sandbox Code Playgroud)

但是,当GetUser()执行方法时,必须从数据库中检索用户数据,这对我不利.这是不必要的浪费服务器时间,无论这个时间有多短,我都想避免它.

有没有其他方法可以ProviderUserKey更方便的方式,User.Identity.Name以防万一?

我想听听你的想法.你如何在你的网页上解决这个问题?

谢谢.

asp.net membership-provider membershipuser

1
推荐指数
1
解决办法
2600
查看次数

ASP.net MVC 3用户注册

我是asp.net mvc 3世界的新手我看了一些教程开始.我想知道管理用户的最佳选择是什么?

我打算使用成员资格提供程序(并修改它以扩展默认字段)或使用用户分析+成员资格提供程序?

这些有哪些优点和缺点?一旦我创建了我的应用程序,我的想法是创建一个移动应用程序:用户必须能够通过用户和密码(我的Web应用程序)访问...它会影响我的选择吗?

asp.net-mvc mobile registration membership-provider user-profile

1
推荐指数
1
解决办法
953
查看次数

使用自定义成员资格/角色提供程序时如何使用自定义httpcontext用户

大家好,我使用的是自定义成员资格提供程序和自定义角色提供程序。并且正在正确地使用它们登录。我还实现了我自己的Membership用户对象,以便可以访问其他用户信息,并且不需要每次更改页面时都加载所有数据,但是我目前无法使其正常工作。以下是我的用户对象:

public class User : MembershipUser
{
    [Required(ErrorMessage = "Username cannot be blank")]
    [Display(Name = "User name")]
    public string UserName { get; set; }

    [Required(ErrorMessage = "Password cannot be blank")]
    [DataType(DataType.Password)]
    [Display(Name = "Password")]
    public string Password { get; set; }

    [Display(Name = "User ID")]
    public long UserID { get; set; }

    [Display(Name = "Family Name")]
    [StringLength(50, ErrorMessage = "Family name cannot be longer than 50 characters")]
    public string FamilyName { get; set; }

    [Display(Name = "Given Name")]
    [StringLength(50, ErrorMessage …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc membership-provider

1
推荐指数
1
解决办法
3250
查看次数

“where 子句”中的未知列“Extent1.Discriminator”

我正在使用 Visual Studio 2013 Web 表单应用程序和 MySql 数据库来构建 Web 表单应用程序,但我无法通过“成员资格和角色管理”。我对会员资格使用了数据库优先方法,当我尝试注册新用户时,收到以下错误消息:

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: MySql.Data.MySqlClient.MySqlException: Unknown column   'Extent1.Discriminator' in 'where clause'

Source Error: 


Line 16:             var manager = new UserManager();
Line 17:             var user = new ApplicationUser() { UserName = UserName.Text };
Line 18:             IdentityResult result = manager.Create(user, Password.Text);
Line 19: …
Run Code Online (Sandbox Code Playgroud)

mysql asp.net membership-provider entity-framework-6 asp.net-identity

1
推荐指数
1
解决办法
8947
查看次数

如何使用OAuth 2.0实现REST API以实现多客户端访问

我有类似下面的要求使用OAuth 2.0和Web Api实现REST API.

REST API应该允许 - 创建,更新,查看和删除订单 - 来创建,更新,查看和删除库存

API应该能够被任何类型的外部客户端使用,例如Web应用程序,移动应用程序,Windows/Web服务等.

允许外部客户的角色:订单管理,库存管理外部客户的用户数据(角色,权限)将不由我们的系统管理.

注意:可以有另外两个角色,如内部,外部.因为外部用户不允许删除功能.

订单和库存数据将在当前Windows /桌面应用程序已使用的SQL Server DB中进行管理.通过新API发出的订单,库存应该保存在同一个数据库中.

问题:

  1. 我可以使用哪种授权类型?
  2. 我应该如何管理外部客户端的数据(允许的角色,客户端ID,令牌)?我需要为此使用单独的成员资格数据库吗?我可以将现有数据库用于新表吗?

c# sql-server membership-provider oauth-2.0 asp.net-web-api2

1
推荐指数
1
解决办法
4378
查看次数