Sdílet prostřednictvím


sp_unsetapprole (Transact-SQL)

platí pro:SQL Server

Deaktivuje roli aplikace a vrátí se k předchozímu kontextu zabezpečení.

Transact-SQL konvence syntaxe

Syntaxe

sp_unsetapprole [ @cookie = ] cookie
[ ; ]

Argumenty

Určuje soubor cookie, který byl vytvořen při aktivaci role aplikace. @cookie je varbinary(8000) bez výchozího nastavení. Soubor cookie je vytvořen sp_setapprole.

Poznámka:

Parametr cookie OUTPUT pro sp_setapprole je aktuálně zdokumentovaný jako varbinary(8000), což je správná maximální délka. Aktuální implementace však vrátí varbinary(50). Aplikace by měly i nadále rezervovat varbinary(8000), aby aplikace fungovala správně, pokud se velikost vrácení souboru cookie v budoucí verzi zvýší.

Hodnoty návratového kódu

0 (úspěch) a 1 (selhání)

Poznámky

Po aktivaci role aplikace pomocí sp_setapprolezůstane role aktivní, dokud se uživatel neodpojí od serveru nebo nespustí sp_unsetapprole.

Přehled aplikačních rolí najdete v tématu Role aplikací.

Povolení

Vyžaduje členství ve veřejném prostředí a znalost souboru cookie uloženého při aktivaci role aplikace.

Příklady

Následující příklad aktivuje Sales11 roli aplikace a vytvoří soubor cookie. Příklad vrátí název aktuálního uživatele a pak se vrátí k původnímu kontextu spuštěním sp_unsetapprole. Nahraďte <password> silným heslem.

DECLARE @cookie AS VARBINARY (8000);

EXECUTE sp_setapprole 'Sales11',
    '<password>',
    @fCreateCookie = true,
    @cookie = @cookie OUTPUT;

-- The application role is now active.
SELECT USER_NAME();

-- Return the name of the application role, Sales11.
EXECUTE sp_unsetapprole @cookie;
    -- The application role is no longer active.
    -- The original context has now been restored.
GO

-- Return the name of the original user.
SELECT USER_NAME();
GO