MSSQL Benutzerrolle herausfinden?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • MSSQL Benutzerrolle herausfinden?

    Hallo!
    Hier ersteinmal "meine" Daten:
    PHP-Version: PHP 4.3.0
    Apache 1.3.2.6
    Datenbank: MS SQL 7.0

    Ausgangssituation:
    MSSQL bietet Benutzerrollen an. Für jede Benutzerrolle kann man Rechte verteilen. Jeder Benutzer in der Rolle besitzt die Rechte der Rolle.
    Rolle 'Einfach' soll in der Tabelle 'Notiz' die Spalten 1,2 updaten dürfen, Rolle 'Erweitert' soll in der Tabelle 'Notiz' die Spalten 1,2,3,5 updaten dürfen. Problem: Ich kann nur sagen UDATE Tabelle Notiz oder keine UPDATE Erlaubnis Tabelle Notiz???

    Lösungswunsch Auftraggeber:
    Erstellung folgender Tabelle: (Beispiel)
    ROLLE TABELLE FELDER
    Einfach Notiz 1,2
    Erweitert Notiz 1,2,3,5
    (Auftraggeber möchte von der DB-Seite die Steuerung, nicht im Code durch SQL Befehle wie GRANT etc.)

    PROBLE:
    Kann ich irgenwie herausfinden in welcher Rolle mein Benutzer 'steckt'????

    Ich habe neben dieser Seite schon das ganze Web durchsucht (jedenfalls kommt es mir so vor) und nicht gefunden, ob und wie das möglich ist - allerdings auch noch nichts gegenteiliges.

    Kann mir irgendjemand helfen?????????
    Ich wäre euch sehr dankbar!

    Viele Grüße,
    Lilith

    P.S.: Dieser Beitrag steht auch im SQL Forum. Wußte nicht genau wohin damit.....
    Bekennender Lokalpatriot:
    www.lippstadt.de =)

  • #2
    Lösung?!

    Hallo!

    Nach nochmaliger intensiver Recherche:
    T - SQL Statement überrpüft 'Mitgliedschaft' in Rolle:
    IF IS_MEMBER ('db_owner') = 1
    print 'Current user is a member of the db_owner role'
    ELSE IF IS_MEMBER ('db_owner') = 0
    print 'Current user is NOT a member of the db_owner role'
    ELSE IF IS_MEMBER ('db_owner') IS NULL
    print 'ERROR: Invalid group / role specified'

    Das sieht in PHP dann so aus:
    [COLOR=red]$sql_userrole[/COLOR] = [COLOR=teal]
    "IF IS_MEMBER ('db_owner') = 1
    print 'Current user is a member of the db_owner role'
    ELSE IF IS_MEMBER ('db_owner') = 0
    print 'Current user is NOT a member of the db_owner role'
    ELSE IF IS_MEMBER ('db_owner') IS NULL
    print 'ERROR: Invalid group / role specified'[/COLOR]";

    [COLOR=red]$result_userrole[/COLOR] = mssql_query([COLOR=red]$sql_userrole)[/COLOR];
    echo "<br>result userrole:".[COLOR=red]$result_userrole[/COLOR].":<br>";
    [COLOR=red]$ergebnis[/COLOR] = mssql_get_last_message();
    echo "<br>ergebnis:".[COLOR=red]$ergebnis[/COLOR].":<br>";

    Also hat man dann die Benutzerrolle.......
    Bekennender Lokalpatriot:
    www.lippstadt.de =)

    Kommentar


    • #3
      FALSCHES FORUM UND CROSSPOSTING

      *VERSCHIEB*
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar

      Lädt...
      X