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
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