Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Role-based authentication med custom principal

Postades av 2004-06-08 16:26:40 - Patrik Dahlén, i forum asp.net generellt, Tråden har 3 Kommentarer och lästs av 764 personer

Jag har ett rollbaserat system.
I web.config för den skyddade mappen använder jag:
<code>
<authorization>

<allow roles="SiteAdmin" />
<deny users="*" />

</authorization>
</code>

I global.asax har jag:
<code>
Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e As EventArgs)
Try
If Request.IsAuthenticated Then
'Determine this user's roles
Dim nUser As UserClass = New UserClass()
nUser.LoadUsers()
nUser.Email = User.Identity.Name
nUser.LoadUser()

' Create an array of role names
Dim roleList As New ArrayList()
roleList = nUser.Roles

'Convert the roleList ArrayList to a String array
Dim roleListArray As String() = roleList.ToArray(GetType(String))

'Add the roles to the User Principal
HttpContext.Current.User = _
New GenericPrincipal(User.Identity, roleListArray)
End If
Catch exc As Exception
Response.Write(exc.Message)
End Try
End Sub
</code>

Allt är frid och fröjd och fungerar fint.
Men nu är det så att i nya versionen av min applikation så har jag valt att använda en customiserad Principal klass som implementerar IPrincipal.

Min fråga är då, när man sätter allow roles i web.config, hur kontrolleras det i den authenticerade Principal? Eftersom min customiserade Principal klass har IsInRole(role as String) funktionen så borde väl kontrollen fungera ändå?

Först så tog jag bort det som jag ovan har i global.asax men sen tänkte jag att kontrollen kanske görs innan Page_Load på sidan. Jag har nämligen en BasePage klass som sätter den authenticerade användaren till min customiserade Principal klass. Funkar inte annars eftersom den tydligen går tillbaka till en generic när man byter sida.
Då ändrade jag ovanstående i global.asax så att jag såg till att skapa min SitePrincipal i Application_AuthenticateRequest för att vara säker på att det stämde.
Men rollhanteringen funkar inte ändå.

Någon annan som pysslat med customiserade Principals och role-based?



Svara

Sv: Role-based authentication med custom principal

Postades av 2004-06-08 23:23:40 - staffan sjöstedt

Hej Patrik
I Wrox-boken ASP.NET Website Programming: Problem - Design - Solution, bygger man en sajt med .NET och bl a en egen IPricipal kallas SitePrincipal.
All sidor bygger på en basklass som innehåller nedanstående kod i Page_Load.
Kan det vara till hjälp månne?

( Koden finns på http://www.wrox.com/books/0764543776.shtml)

Lycka till
/Staffan


private void PhilePage_Load(object sender, System.EventArgs e)
{
// TODO: Place any code that will take place BEFORE the Page_Load event
// in the regular page, e.g. cache management, authentication verification,
// etc.
if (Context.User.Identity.IsAuthenticated)
{
if (!(Context.User is SitePrincipal))
{
// ASP.NET's regular forms authentication picked up our cookie, but we
// haven't replaced the default context user with our own. Let's do that
// now. We know that the previous context.user.identity.name is the e-mail
// address (because we forced it to be as such in the login.aspx page)
SitePrincipal newUser = new SitePrincipal( Context.User.Identity.Name );
Context.User = newUser;
}
}
}


Svara

Sv: Role-based authentication med custom principal

Postades av 2004-06-09 07:22:03 - Patrik Dahlén

Japp, det är den boken jag har utgått ifrån. Den lösningen använder sig dock inte av roller på det sättet att de låser hela mappar i web.config. Istället så ligger säkerhetskollen i Page_Load.
Jag skulle helst vilja låsa adminmappen i web.config genom att ange vilka roller som har tillgång. Sedan använder jag bokens säkerhetskoll för att avgöra vilka administrationsval som är tillgängliga genom att kolla användarens permissions.
Problemet är att det verkar som att koden i basklassen inte utförs innan authenticeringen. Men det funkar inte även när jag skapar en ny customiserad Principal i global.asax.
Får experimentera lite antar jag.


Svara

Sv: Role-based authentication med custom principal

Postades av 2004-06-09 08:43:05 - Patrik Dahlén

Efter lite fix och trix har jag löst problemet. Koden som boken lägger i basklassen har jag flyttat till global.asax Application_AuthenticateRequest.
Då fungerar Rollbaseringen precis som den ska. :)


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 166
27 952
271 704
1 431
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies