Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 523803
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T08:30:01+00:00 2026-05-13T08:30:01+00:00

I want to use the the AuthorizeAttribute to control which users are allowed access

  • 0

I want to use the the AuthorizeAttribute to control which users are allowed access to my actions. I just want to clarify that my logic is in order.

  1. I create my own implementation of IPrincipal
  2. I post a user’s credentials to a login action of a security controller.
  3. I validate the credentials with a UserService class and assign the IPrincipal returned from my UserService class to HttpContext.User
  4. My WebAuthorizeAttribute, which inherits AuthorizeAttribute, checks the current HttpContext.User.Identity.IsAuthenticated and HttpContext.User.IsInRole to determine if the user has access to the action.

Is the the normal flow of things? I know I could inherit MembershipProvider, but I don’t need all of the functionality there, really just the ability to login with two different roles.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-13T08:30:02+00:00Added an answer on May 13, 2026 at 8:30 am

    You’ll have to store IPrincipal somewhere and restore it with every request. If you’ll use FormsAuthentication, this is good solution:

    ASP.NET 2.0 Forms authentication – Keeping it customized yet simple

    you can find other solutions here:

    Where to store logged user information on ASP.NET MVC using Forms Authentication?

    and propably in many other StackOverflow questions:)

    EDIT

    About MyBusinessLayerSecurityClass.CreatePrincipal(id, id.Name):

    You should read this page:

    http://msdn.microsoft.com/en-us/library/aa480476.aspx

    Specially this:

    The
    FormsAuthenticationModule
    class constructs a
    GenericPrincipal
    object and stores it in the HTTP
    context. The
    GenericPrincipal
    object holds a reference to a
    FormsIdentity
    instance that represents the currently
    authenticated user. You should allow
    forms authentication to manage these
    tasks for you. If your applications
    have specific requirements, such as
    setting the User
    property to a custom class that
    implements the
    IPrincipal interface,
    your application should handle the
    PostAuthenticate
    event. The
    PostAuthenticate
    event occurs after the
    FormsAuthenticationModule
    has verified the forms authentication
    cookie and created the
    GenericPrincipal and
    FormsIdentity
    objects. Within this code, you can
    construct a custom
    IPrincipal object
    that wraps the
    FormsIdentity object,
    and then store it in the
    HttpContext. User
    property.

    FormsIdentity is managed automatically after you set authentication cookie. All you have to do is wrap it up in your IPrincipal. All this happens when HttpContext.Current.User property is not null (it is GenericPrincipal, which you replace shortly after). When HttpContext.Current.User is null then there was no authentication cookie created earlier and user is not authenticated.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I want to use the MultipleLookupField control in a web page that will run
I want to use the Web Browser control within an mono application, but when
Below is my stored procedure. I want use stored procedure select all row of
I want to use the mouse scrollwheel in my OpenGL GLUT program to zoom
I want to use Powershell to write some utilities, leveraging our own .NET components
I want to use the functions exposed under the OpenGL extensions. I'm on Windows,
I want to use the Publish.GacRemove function to remove an assembly from GAC. However,
I want to use CodeDOM to both declare and initialize my static field in
I want to use SQL Profiler to trace the queries executed agains my database,
I want to use CSS sprites on a web site instead of separate image

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.