Conta de usuario

Pessoal,

Qual classe que eu uso para usar privilegio de acesso em um logon em um sistema, quero determinar se o usuario é avancado (algumas funcoes) adm (detem o dominio total) e assim vai, nao me lembro mas ja vi algo parecido !

valew
[]s

Por incrível que pareça, dá. Só que não vou dar muito mastigado, porque não tenho isso pronto. Mas vou dar o caminho das pedras.

Dê uma olhada nos exemplos e507, e508 e e509 do javaalmanac:

http://www.javaalmanac.com/egs/javax.security.auth.login/pkg.html

A seguir, veja qual é o SID do grupo Administradores:

(Não sei se é S-1-1-0 ou S-1-2-0 ou S-1-5-15 )

Tente rodar a seguir este programa (que é o exemplo e508 modificado, use os mesmos parâmetros e o mesmo arquivo de configuração). Veja a saída quando rodado por um usuário normal e outro Administrador. E veja qual é a diferença.

[code]
import javax.security.auth.login.;
import javax.security.auth.
;
import java.security.*;

class Test170 {
public static void main(String[] args) {
try {
String loginAppName = “GetLoginNameUnix”;

        // If the application is run on NT rather than Unix, use this name
        loginAppName = "GetLoginNameNT";
    
        // Create login context
        LoginContext lc = new LoginContext(loginAppName,
            new com.sun.security.auth.callback.TextCallbackHandler());
    
        // Retrieve the information on the logged-in user
        lc.login();
    
        // Get the authenticated subject
        Subject subject = lc.getSubject();
    
        // Get the subject principals
        Principal principals[] = (Principal[])subject.getPrincipals().toArray(new Principal[0]);
        for (int i=0; i<principals.length; i++) {

// if (principals[i] instanceof com.sun.security.auth.NTUserPrincipal
// || principals[i] instanceof com.sun.security.auth.UnixPrincipal) {
System.out.println (principals[i].getClass().getName());
System.out.println (principals[i].getName());
// }
}
} catch (LoginException e) {
// Login failed
}
}
}
[/code]>

valew tingol, vou testar e te falo o resultado !

[]s