小编Niv*_*vek的帖子

使用JNDI进行LDAP用户密码身份验证

public static void main(String[] args)
{
    String INITCTX = "com.sun.jndi.ldap.LdapCtxFactory";
    String MY_HOST = "ldap://Localhost:1389";
    String MGR_DN = "cn=John,ou=Users,o=IT,dc=QuizPortal";
    String MGR_PW = "password";           

    //Identify service provider to use
    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY, INITCTX);
    env.put(Context.PROVIDER_URL, MY_HOST);
    env.put(Context.SECURITY_AUTHENTICATION, "simple");
    env.put(Context.SECURITY_PRINCIPAL, MGR_DN);
    env.put(Context.SECURITY_CREDENTIALS, MGR_PW);

    try
    {
        // Create the initial directory context
        InitialDirContext initialContext = new InitialDirContext(env);

        System.out.println("Context Sucessfully Initialized");
    }
    catch(Exception e)
    {
        System.err.println(e);
    }
}
Run Code Online (Sandbox Code Playgroud)

我想问我什么时候MGR_DN = "cn=John,ou=Users,o=IT,dc=QuizPortal"开始MGR_DN = "uid=103,ou=Users,o=IT,dc=QuizPortal".基本上从cn变为uid,我会遇到错误

javax.naming.AuthenticationException: [LDAP: error code 49 - …
Run Code Online (Sandbox Code Playgroud)

java jndi ldap

9
推荐指数
2
解决办法
2万
查看次数

如何通过JNDI更改LDAP密码

我试图通过JNDI更改用户的密码,但我收到以下错误.

javax.naming.directory.SchemaViolationException:[LDAP:错误代码65 - 条目uid = yiwei,ou = Administrator,o = SID,dc = QuizPortal不能修改,因为生成的条目违反了服务器模式:条目uid = yiwei ,ou = Administrator,o = SID,dc = QuizPortal违反Directory Server架构配置,因为它包含属性用户密码,该条目中定义的任何对象类都不允许这样做;

以下是我的代码.

public class ModifyAtt
{

    public static String INITCTX = "com.sun.jndi.ldap.LdapCtxFactory";
    public static String MY_HOST = "ldap://KhooGP-Comp1:1389/dc=QuizPortal";
    public static String MGR_DN = "cn=Directory Manager";
    public static String MGR_PW = "password";

    public static void main(String[] args)
    {

        //Identify service provider to use
        Hashtable env = new Hashtable();
        env.put(Context.INITIAL_CONTEXT_FACTORY, INITCTX);
        env.put(Context.PROVIDER_URL, MY_HOST);
        env.put(Context.SECURITY_AUTHENTICATION, "simple");
        env.put(Context.SECURITY_PRINCIPAL, MGR_DN);
        env.put(Context.SECURITY_CREDENTIALS, MGR_PW);

        try
        { …
Run Code Online (Sandbox Code Playgroud)

java passwords jndi ldap

6
推荐指数
1
解决办法
2万
查看次数

如何在移动设备上室内使用GPS?

我是移动应用程序的新手.基本上我想在室内获取用户的GPS坐标.我在户外检测移动设备没有问题,只有在室内时才会给我带来问题.我试过设定准确度,但无济于事.

有解决方案吗?

这是我的代码:

new Thread()
{

    public void run()
    {
        try
        {
            Criteria cr= new Criteria();
            cr.setHorizontalAccuracy(1000);
            LocationProvider lp= LocationProvider.getInstance(cr);

            Location l = lp.getLocation(60);
            Coordinates c = l.getQualifiedCoordinates();

            if(c != null )
            {
                lat = c.getLatitude();
                lon = c.getLongitude();
            }
        }
        catch(Exception e)
        {
            System.out.println("Error");
        }
    }
}.start();
Run Code Online (Sandbox Code Playgroud)

gps java-me

4
推荐指数
2
解决办法
1万
查看次数

如何通过JNDI检索LDAP密码

我能够通过JNDI读取存储在LDAP中的密码.但结果是一些胡言乱语的人物.那么我该怎么解密呢?

以下是我的代码:

public static void main(String[] args)
        {
            String INITCTX = "com.sun.jndi.ldap.LdapCtxFactory";
            String MY_HOST = "ldap://KhooGP-Comp1:1389";
            String MGR_DN = "cn=Directory Manager";
            String MGR_PW = "password";
            String MY_SEARCHBASE = "dc=QuizPortal";
            String MY_FILTER = "uid=yiwei";
            String MY_ATTRS[] = {"cn", "uid", "sn", "userpassword"};

            //Identify service provider to use
            Hashtable env = new Hashtable();
            env.put(Context.INITIAL_CONTEXT_FACTORY, INITCTX);
            env.put(Context.PROVIDER_URL, MY_HOST);

            env.put(Context.SECURITY_AUTHENTICATION, "simple");
            env.put(Context.SECURITY_PRINCIPAL, MGR_DN);
            env.put(Context.SECURITY_CREDENTIALS, MGR_PW);

            try
            {
                // Create the initial directory context
                InitialDirContext initialContext = new InitialDirContext(env);
                DirContext ctx = (DirContext)initialContext;

                System.out.println("Context Sucessfully Initialized"); …
Run Code Online (Sandbox Code Playgroud)

java passwords jndi ldap

4
推荐指数
1
解决办法
1万
查看次数

在体系结构方面,LDAP v2和v3之间有什么区别

任何人都能简单地向我解释一下v2和v3的架构方面有什么不同吗?我知道v3中添加了一些新功能.但就架构而言,v2还是客户端和服务器模型吗?

从这个链接看来,v2似乎不是客户端服务器模型.但是从其他链接中可以看出这一点

该协议包括客户端向服务器发送请求,服务器响应该请求,但不一定按照发送请求的相同顺序

对我来说听起来像v2就像一个客户端服务器模型.

如果有人能开导我真的很感激.谢谢

凯文

ldap

2
推荐指数
1
解决办法
8058
查看次数

使用Windows会话凭据作为登录?它是如何工作的??

我遇到过像ARCserve HA这样的程序,它使用Windows会话凭据作为登录,而无需我手动输入用户ID和密码.这是如何运作的??该程序实际上能够获取我的窗口的用户ID和密码?

由于我当前用Java编写的项目要求我做类似的事情,使用Windows会话凭证作为登录.

任何人都可以向我提供有关如何进行此操作的任何说明吗?任何方向将不胜感激.

编辑

也许我还应该包括ARCserve HA启动IE,从那里我选中" windows session credentials " 选项作为登录.希望这些额外的信息可能有所帮助.

凯文

java windows authentication windows-authentication

1
推荐指数
1
解决办法
3529
查看次数