首页 新闻 会员 周边 捐助

该不该把ClaimsIdentity放到Cookies里

0
悬赏园豆:20 [已解决问题] 解决于 2014-09-28 13:04

用的MVC4,想山寨一把OWIN,所以写了个HttpModule。

结果登陆生成的ClaimsIdentity序列化出来的有2K大,最大的时候似乎有6K大,这个是不是有问题?还是我写的有问题?

OWIN里,是怎么保存这个ClaimsIdentity的呢?

vbfool的主页 vbfool | 初学一级 | 园豆:186
提问于:2014-09-27 21:30
< >
分享
最佳答案
0

找到相关代码了。

https://katanaproject.codeplex.com/SourceControl/latest#src/Microsoft.Owin.Security/DataHandler/Serializer/TicketSerializer.cs

GZIP压缩然后自己组织格式按行写入的,我直接用序列化看来是个浪费。

vbfool | 初学一级 |园豆:186 | 2014-09-28 10:23
其他回答(2)
0

可以说没用过owin,但你的cookie达到2k甚至6k,绝对是一种病态。

不排除cookie的数据数K的情况,但那不是你这样的情况。

你可以反编译owin,貌似owin也是开源的。

收获园豆:20
519740105 | 园豆:5810 (大侠五级) | 2014-09-28 09:01

翻了半天OWIN的源码没找到它这里怎么写的。

ASP.NET Identity For OWIN,好像没有看到公布源码。

支持(0) 反对(0) vbfool | 园豆:186 (初学一级) | 2014-09-28 09:11

@vbfool: 反编译,查看下实现原理也可以。这样的模块,一般不会加密发布的。

支持(0) 反对(0) 519740105 | 园豆:5810 (大侠五级) | 2014-09-28 09:22
0

ClaimsIdentity放在cookie里肯定会大的,没有必要,ClaimsIdentity每次验证的时候通过用户创建就好,cookie保存登陆了的账户就可以,身份认证是通过第三方服务器获取的不需要保存

draculav | 园豆:734 (小虾三级) | 2014-09-28 10:33

本来就是不想每次都获取一下用户

支持(0) 反对(0) vbfool | 园豆:186 (初学一级) | 2014-09-28 10:41

@vbfool: 那为什么要把ClaimsIdentity放Cookie

支持(0) 反对(0) draculav | 园豆:734 (小虾三级) | 2014-09-28 10:46

@draculav: 应该说是不想每次都去数据库获取用户

支持(0) 反对(0) vbfool | 园豆:186 (初学一级) | 2014-09-28 17:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册