Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Limita l'accesso alla pagina...PROBLEMA

    Qualcuno sa risolvere questa mia curiosità...
    Ho un sistema di accessi un po' complicato o quantomeno strano che prende i permessi da una query...
    I miei livelli di accesso sono dati dalle lettere A B C D e E e le loro combinazioni...
    il problema è questo... un utente con permesso A può entrare anche in una pagina con permesso AC... Perchè?
    Forse il permesso non controlla se la lettera A è sola o "accompagnata"?
    Insomma non so se mi sono spiegato...

    Il problema di fondo è che un utente con permesso A non può entrare in una pagina con queste autorizzazioni:
    codice:
    MM_authorizedUsers="E,AE,BE,CE,DE,ABE,ACE,ADE,BCE,BDE,CDE,ABDE,ABCE,ACDE,BCDE,ABCDE"
    invece mi entra... cosa devo fare???

  2. #2
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    se non posti il codice che fa il controllo è un pò difficile aiutarti
    Forza la magica ROMA

  3. #3
    codice:
    <%
    ' *** Restrict Access To Page: Grant or deny access to this page
    MM_authorizedUsers="E,AE,BE,CE,DE,ABE,ACE,ADE,BCE,BDE,CDE,ABDE,ABCE,ACDE,BCDE,ABCDE"
    MM_authFailedURL="login.asp"
    MM_grantAccess=false
    If Session("MM_Username") <> "" Then
      If (false Or CStr(Session("MM_UserAuthorization"))="") Or _
             (InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization"))>=1) Then
        MM_grantAccess = true
      End If
    End If
    If Not MM_grantAccess Then
      MM_qsChar = "?"
      If (InStr(1,MM_authFailedURL,"?") >= 1) Then MM_qsChar = "&"
      MM_referrer = Request.ServerVariables("URL")
      if (Len(Request.QueryString()) > 0) Then MM_referrer = MM_referrer & "?" & Request.QueryString()
      MM_authFailedURL = MM_authFailedURL & MM_qsChar & "accessdenied=" & Server.URLEncode(MM_referrer)
      Response.Redirect(MM_authFailedURL)
    End If
    %>

  4. #4
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    prova così
    codice:
     
    if  (false Or CStr(Session("MM_UserAuthorization"))="") Or _
    	InStr(1,MM_authorizedUsers,"," & Session("MM_UserAuthorization") & ",") <> 0 or _
    	InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization") & ",") = 2 or _
    	InStrRev(MM_authorizedUsers,"," & Session("MM_UserAuthorization")) = len(MM_authorizedUsers) - len(Session("MM_UserAuthorization")) then

    al posto di
    codice:
    If (false Or CStr(Session("MM_UserAuthorization"))="") Or _
             (InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization"))>=1) Then
    Forza la magica ROMA

  5. #5
    Funziona male... un utente con permesso D entra nella pagina INDEX con questi permessi:
    codice:
    <%
    ' *** Restrict Access To Page: Grant or deny access to this page
    MM_authorizedUsers="A,B,C,D,E,AB,AC,AD,AE,BC,BD,BE,CD,CE,DE,ABC,ABD,ABE,ACD,ACE,ADE,BCE,BCD,BDE,CDE,ABCD,ABDE,ABCE,ACDE,BCDE,ABCDE"
    MM_authFailedURL="login.asp"
    MM_grantAccess=false
    If Session("MM_Username") <> "" Then
      if  (false Or CStr(Session("MM_UserAuthorization"))="") Or _
    	InStr(1,MM_authorizedUsers,"," & Session("MM_UserAuthorization") & ",") <> 0 or _
    	InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization") & ",") = 2 or _
    	InStrRev(MM_authorizedUsers,"," & Session("MM_UserAuthorization")) = len(MM_authorizedUsers) - len(Session("MM_UserAuthorization")) then
    
        MM_grantAccess = true
      End If
    End If
    If Not MM_grantAccess Then
      MM_qsChar = "?"
      If (InStr(1,MM_authFailedURL,"?") >= 1) Then MM_qsChar = "&"
      MM_referrer = Request.ServerVariables("URL")
      if (Len(Request.QueryString()) > 0) Then MM_referrer = MM_referrer & "?" & Request.QueryString()
      MM_authFailedURL = MM_authFailedURL & MM_qsChar & "accessdenied=" & Server.URLEncode(MM_referrer)
      Response.Redirect(MM_authFailedURL)
    End If
    %>
    ma non nella pagina MAGAZZINO che è la pagina dove dovrebbe andare... con questi permessi...
    codice:
    <%
    ' *** Restrict Access To Page: Grant or deny access to this page
    MM_authorizedUsers="D,AD,BD,CD,DE,ABD,ACD,ADE,BCD,BDE,CDE,ABCD,ABDE,ACDE,BCDE,ABCDE"
    MM_authFailedURL="login.asp"
    MM_grantAccess=false
    If Session("MM_Username") <> "" Then
      if  (false Or CStr(Session("MM_UserAuthorization"))="") Or _
    	InStr(1,MM_authorizedUsers,"," & Session("MM_UserAuthorization") & ",") <> 0 or _
    	InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization") & ",") = 2 or _
    	InStrRev(MM_authorizedUsers,"," & Session("MM_UserAuthorization")) = len(MM_authorizedUsers) - len(Session("MM_UserAuthorization")) then
    	
        MM_grantAccess = true
      End If
    End If
    If Not MM_grantAccess Then
      MM_qsChar = "?"
      If (InStr(1,MM_authFailedURL,"?") >= 1) Then MM_qsChar = "&"
      MM_referrer = Request.ServerVariables("URL")
      if (Len(Request.QueryString()) > 0) Then MM_referrer = MM_referrer & "?" & Request.QueryString()
      MM_authFailedURL = MM_authFailedURL & MM_qsChar & "accessdenied=" & Server.URLEncode(MM_referrer)
      Response.Redirect(MM_authFailedURL)
    End If
    %>

    a me sembrano uguali...

  6. #6
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    io ho fatto una prova e D in index passa
    se valorizzate correttamente le variabili
    fatti stampare il contenuto delle variabili e controlla
    Forza la magica ROMA

  7. #7
    Lo so infatti quando faccio la login in index ci entra... è poi andare in magazzino che è impossibile...

    come faccio a stampare le variabili?

  8. #8
    senti... è possibile che sia un problema della lettera singola???
    Io ho un permesso ABCDE e entro ovunque (facendo perfettamente la login...) e ho fatto una prova creando un utente con permesso AC che riesce a fare perfettamente il login entrando nelle sezioni A e C...

  9. #9
    Niente ho aggiunto anche una X di default in modo che non ci sia solo A, B... ma XA, Xb.... ma non va...

  10. #10
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    bo a me entrava nella condizione di MAGAZZINO anche prima
    (nel mio precedente post volevo dire MAGAZZINO non index)
    Forza la magica ROMA

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.