开发者

Is it possible to extend the User.Identity structure (ASP.Net/MVC) somehow?

开发者 https://www.devze.com 2023-04-06 18:38 出处:网络
Is开发者_运维技巧 it possible to store additional data specific to the currently logged on user somehow?Certainly! If you are not familiar with writing an extension, there are the VB.NET and C# guides

Is开发者_运维技巧 it possible to store additional data specific to the currently logged on user somehow?


Certainly! If you are not familiar with writing an extension, there are the VB.NET and C# guides on the subject.

You will need to extend the System.Security.Principal.IIdentity interface. As an example:

Declaration:

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

Usage:

User.Identity.GetMyCustomProperty(4)

NOTES:

  • The C# code is a fair deal different so it's worth looking at the guides on how extensions are implemented in general. Running this code through a VB.NET => C# converter is not enough.

  • Extensions may only be methods. You may not program custom properties. This will likely mean implementing getter/setter methods if you want property-like behavior.

EDIT:

After seeing your comments, I assume you are doing this to provide a sort of crude functionality similar to a user profile. Consider using a profile provider in concert with any membership you are currently using if you'd like this functionality.

0

精彩评论

暂无评论...
验证码 换一张
取 消