是否有可能以某种方式存储特定于当前登录用户的附加数据?是否有可能以某种方式扩展User.Identity结构(ASP.Net/MVC)?
回答
当然可以!如果您不熟悉撰写附加信息,有关该主题的指南有VB.NET和C#。
您将需要扩展System.Security.Principal.IIdentity
接口。作为一个例子:
宣言:
Imports System.Runtime.CompilerServices
Module Extensions
<Extension()>
Function GetMyCustomProperty(anIdentity As System.Security.Principal.IIdentity, myParameter As Integer) As Object
Return New Object()
End Function
End Module
用法:
User.Identity.GetMyCustomProperty(4)
NOTES:
C#代码是一个发ir交易不同,因此值得一看 指南,了解扩展如何实现。通过VB.NET => C#转换器运行这个 代码是不够的。
扩展可能只是方法。您不可以编写自定义属性。如果你想要类似财产的行为,这可能意味着实施getter/setter方法。
编辑:
看到您的意见后,我认为你这样做是为了提供一种粗功能类似于用户配置文件。如果您需要此功能,请考虑使用配置文件提供程序与您当前使用的任何成员资格一致。
如果扩展名不允许自定义属性,它们如何存储与自己相关的自定义状态? – blueberryfields
他们没有。扩展的本质功能更像静态方法,这意味着您需要访问它们扩展的对象的状态信息,将状态数据移动到后台存储(如数据库),或者通过' HttpContext.Current.Session'。如果您正在寻求实施用户个人资料,则最好使用个人资料提供者。 – lsuarez
- 1. 是否有可能以某种方式排除cfdirectory的文件?
- 2. 是否有可能的方式与Firefox扩展以下
- 3. 是否有可能以某种方式撤销mv命令的结果?
- 4. 是否可以扩展go结构构造函数?
- 5. 是否有某种方式可以回收Crystal Reports数据集?
- 6. 是否有可能以某种方式更改Facebook评论分组URL?
- 7. 是否有可能以某种方式“抢救”红宝石分段错误
- 8. 是否有可能以某种方式在表格行周围设置边框?
- 9. 是否可以扩展DataColumn.Expression
- 10. 是否可以从扩展
- 11. 是否可以扩展类
- 12. 是否可以在PHP中以编程方式启用扩展?
- 13. 是否可以扩展现有的TypeConverter?
- 14. 是否可以使用扩展方法扩展泛型类?
- 15. 是否可以重构此扩展方法?
- 16. 需要以某种方式扩展两个类
- 17. 有没有可能以某种方式保存UIActionSheet索引?
- 18. 是否有可能扩展一个库类扩展MY_Controller类
- 19. 是否可以通过某种方式更新NetBeans?
- 20. 单击后是否有一种方法可以水平扩展下拉菜单?
- 21. 是否有可能以编程方式生成核心数据结构?
- 22. 结构扩展方法
- 23. 是否有可能将Sphinx automodule扩展到Python以外的域?
- 24. 是否有可能为F#元组创建扩展方法
- 25. 是否有可能重写这个棘手的扩展方法?
- 26. 是否有可能巢内的另一个扩展方法?
- 27. 是否有可能以某种方式在Angular路线警卫上使用否定操作符?
- 28. 托管bean是否可以扩展DTO
- 29. 是否可以扩展Java Enums?
- 30. 是否可以扩展布局?
你想存储什么? –
用户的全名和对图像文件的引用。 – blueberryfields
你打算如何存储这些附加值? –