相关疑难解决方法(0)

Cookie的最大大小是多少,每个网站的浏览器中可以存储多少?

我正在学习cookie,在编写依赖cookie来存储状态的Web应用程序时,我想知道浏览器的支持.

  • 对于每个域/网站,可以向浏览器发送多少个cookie,大小是多少?

  • 如果发送和存储多个cookie,是否会影响性能?

cookies

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

服务器端声称使用Owin身份验证进行缓存

我有一个过去常用的应用程序,FormsAuthentication不久之前我将其切换为使用IdentityModelfrom,WindowsIdentityFramework以便我可以从基于声明的身份验证中受益,但使用和实现它相当难看.所以现在我在看OwinAuthentication.

我在看OwinAuthentication和Asp.Net Identity框架.但是Asp.Net Identity框架目前唯一的实现是使用EntityModel和我正在使用nHibernate.所以现在我想尝试绕过Asp.Net Identity并直接使用Owin Authentication.我终于能够使用" 我如何忽略身份框架魔法并使用OWIN auth中间件来获取我所寻求的声明? "中的提示进行工作登录,但现在我持有声明的cookie相当大.当我使用时,IdentityModel我能够使用服务器端缓存机制来缓存服务器上的声明,而cookie只是为缓存的信息保存了一个简单的令牌.是否有相似的功能OwinAuthentication,或者我必须自己实现它?

我希望我会参加其中一艘船......

  1. cookie保持3KB,哦,它有点大.
  2. 启用类似于IdentityModelSessionCaching的功能Owin,我不知道.
  3. 编写我自己的实现来缓存导致cookie膨胀的信息,看看我是否可以Owin在应用程序启动时配置它.
  4. 我这样做是错的,有一种我没有想过的方法,或者我在滥用某些东西Owin.

    public class OwinConfiguration
    {
        public void Configuration(IAppBuilder app)
        {
            app.UseCookieAuthentication(new CookieAuthenticationOptions
            {
                AuthenticationType = "Application",
                AuthenticationMode = AuthenticationMode.Active,
                CookieHttpOnly = true,
                CookieName = "Application",
                ExpireTimeSpan = TimeSpan.FromMinutes(30),
                LoginPath = "/Login",
                LogoutPath = …
    Run Code Online (Sandbox Code Playgroud)

asp.net authentication claims-based-identity owin

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

对特定资源的声明授权

我正在编写一个示例文件存储系统(仅用于stackoverflow的示例).

我目前的域模型看起来像这样:

public class User
{
    public int ID { get; set; }
    public string LoginIdentifier { get; set; }
    public string Password { get; set; }
}

public class File
{
    public int ID { get; set; }
    public int UserID { get; set; }
    public string FileName { get; set; }
    public byte[] Data { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我写的代码是为了创建IPrincipal:

private static IPrincipal CreatePrincipal(User user)
{
    Debug.Assert(user != null);

    var identity = new GenericIdentity(user.LoginIdentifier, "Basic");

    // TODO: add …
Run Code Online (Sandbox Code Playgroud)

.net authentication authorization claims-based-identity asp.net-web-api

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

与MVC5中现有用户数据库的复杂身份验证

我正在将SaaS应用程序从Classic ASP迁移到.NET MVC5,并将使用EF6 Database First.最终用户的登录表单可由每个租户自定义(在他们自己的子域上,但指向同一个Web应用程序).我们希望使用现有的数据库架构和新的身份验证和授权过滤器.

例如,一个租户上的用户可以通过输入他们的名字,姓氏和我们系统生成的代码来登录.另一个租户的用户可以通过输入他们的电子邮件地址和密码来登录.此外,每个租户都有一个单独的管理员登录名,该登录名使用用户名和密码.另一个租户可以对远程AD服务器使用LDAP身份验证.

有自定义身份验证的最佳实践方法吗?

几乎每篇文章都提出了不同的实现方法:简单地设置FormsAuthentication.SetAuthCookie,使用自定义OWIN提供程序,覆盖AuthorizeAttribute等.

在Classic ASP中,我们查询数据库以找出该租户的登录类型,在登录屏幕上显示相应的字段然后在回发后,检查字段是否与数据库中的内容匹配,然后适当地设置会话变量检查每个页面请求.

谢谢

asp.net authentication wif asp.net-mvc-5 asp.net-identity

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

限制对记录的访问.基于声明的权限是一个好主意

in .net基于声明的身份框架

如果我想限制用户对某个帐户,特定帐户#123456进行操作(查看或编辑).(我说的是商业实体,如银行帐户.)创建索赔是个好主意他们可以查看或编辑每个帐户?

在一组中有很多索赔的任何缺点?系统管理员可以访问系统中的所有帐户,从而创建数百个声明(每个帐户可能多于一个)

.net security authentication permissions claims-based-identity

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