亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? passwordloginmodule.java

?? ejb開發源碼
?? JAVA
字號:
package examples.security;

import java.util.*;
import java.io.IOException;

import javax.security.auth.*;
import javax.security.auth.callback.*;
import javax.security.auth.login.*;
import javax.security.auth.spi.*;

import com.sun.enterprise.security.auth.login.PasswordCredential;

/**
 * A login module that performs password authentication.
 *
 * The purpose of this class is to actually use a callback handler
 * to collect authentication information and add it to the subject
 */

public class PasswordLoginModule 
    implements LoginModule 
{
    private Subject subject;
    /** the callback handler is the mechanism to collect authentication data */
    private javax.security.auth.callback.CallbackHandler callbackHandler;

    /** credentials: username and password */
    private String username;
    private char[] password;

    /**
     * Initializes us with a particular subject to which we will later
     * add the collected password data.
     */

    public void initialize(Subject subject, 
                           javax.security.auth.callback.CallbackHandler callbackHandler, 
                           Map sharedState, 
                           Map options) 
    {
        this.subject = subject;
        this.callbackHandler = callbackHandler;
    }

    /**
     * Authenticate the user by prompting for a username and password.
     * It is called when the client tries to login in.
     *
     * @return    true in all cases since this <code>LoginModule</code> 
     *            should not be ignored.
     * @exception FailedLoginException if the authentication fails. 
     * @exception LoginException if this <code>LoginModule</code> is unable to 
     *            perform the authentication.
     */

    public boolean login() 
        throws LoginException 
    {
        // prompt for a username and password
        if (callbackHandler == null)
        {
            throw new LoginException("Error: No CallbackHandler available to collect authentication information");
        }

        // set up a name callback and a password callback
        Callback[] callbacks = new Callback[2];
        callbacks[0] = new NameCallback("username: ");
        callbacks[1] = new PasswordCallback("password: ", false);
        
        try 
        {
            // let handler handle these
            callbackHandler.handle(callbacks);

            // get authentication data 
            username = ((NameCallback)callbacks[0]).getName();
            if(username == null)
            {
                throw new LoginException("No user specified");
            }
            
            char[] tmpPassword = ((PasswordCallback)callbacks[1]).getPassword();
            
            if (tmpPassword == null) 
            {
                // treat null password as an empty password
                tmpPassword = new char[0];
            }
            password = new char[tmpPassword.length];
            System.arraycopy(tmpPassword, 0, password, 0, tmpPassword.length);
            ((PasswordCallback)callbacks[1]).clearPassword();
        } 
        catch (java.io.IOException ioe) 
        {
            throw new LoginException(ioe.toString());
        } 
        catch (UnsupportedCallbackException uce) 
        {
            throw new LoginException("Error: No Callback available to collect authentication data :"  + 
                                     uce.getCallback().toString());
        }
        catch( Exception e )
        {
            e.printStackTrace();
        }
        
        // The client side login module will always succeed. The
        // actual login will take place on the server side when the
        // security context is passed.
        return true;
    }

    /**
     * This method is called if the overall authentication succeeds
     * after potentially many login modules had their way. In our
     * simple case, we always succeed. The important part here is
     * adding the newly authenticated principal to the security
     * context.
     *
     * @return true if this method executes properly
     */

    public boolean commit() 
        throws LoginException 
    {
        // add the user name and password as credentials to the
        // security context, i.e., the Subject
        PasswordCredential pc = 
            new PasswordCredential(username,
                                   new String(password), 
                                   "fileRealm");
        
        subject.getPrivateCredentials().add(pc);
        
        username = null;
        password = null;
        return true;
    }
    
    /**
     * This method is called if the overall authentication failed
     * (even if this particular login module succeeded).  This cannot
     * happen int our simple examples.
     *
     * @return true if this method executes properly
     */
    
    public boolean abort() 
        throws LoginException 
    {
        return true;
    }

    /**
     * Logout the user and clean up.
     *
     * @return true if this method executes properly
     */
    public boolean logout() 
        throws LoginException 
    {
        username = null;
        password = null;
        return true;
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色天天综合色天天久久| 精品1区2区3区| 处破女av一区二区| 色综合色狠狠综合色| 欧美影视一区在线| 日韩欧美一区二区在线视频| 日韩欧美国产精品一区| 久久精品欧美一区二区三区麻豆 | 欧美精品一区二| 1024亚洲合集| 蜜乳av一区二区| 91麻豆精品视频| 日韩女优制服丝袜电影| 亚洲最大色网站| 成人av网址在线| 精品国产免费视频| 性做久久久久久免费观看 | 日韩一级片网站| 国产精品麻豆欧美日韩ww| 日韩电影一二三区| 色诱视频网站一区| 久久久青草青青国产亚洲免观| 亚洲午夜在线视频| 91啪亚洲精品| 国产精品久久久久久久第一福利| 国产一区二区在线免费观看| 欧美一区二区福利视频| 日韩激情在线观看| 欧美久久免费观看| 日韩国产精品久久| 欧美一区永久视频免费观看| 亚洲午夜免费电影| 欧美色涩在线第一页| 亚洲最大成人网4388xx| 欧美婷婷六月丁香综合色| 亚洲成人av电影| 欧美一区二区久久| 国产麻豆视频一区二区| 欧美国产欧美综合| 成人一区二区三区视频| 亚洲日本在线a| 欧美视频在线播放| 黄色成人免费在线| 亚洲免费视频成人| 制服丝袜日韩国产| 波多野结衣视频一区| 亚洲成人自拍偷拍| 久久久五月婷婷| 色综合久久久久| 麻豆久久一区二区| 依依成人精品视频| 欧美一级欧美一级在线播放| 国产精品1区2区3区在线观看| 国产精品毛片无遮挡高清| 欧美午夜电影网| 国产精品中文欧美| 日韩不卡免费视频| 亚洲老妇xxxxxx| 久久影视一区二区| 欧美在线不卡视频| 成人福利视频在线看| 麻豆精品一二三| 亚洲成人先锋电影| 亚洲色图.com| 久久精品这里都是精品| 91精品国产欧美一区二区18| 93久久精品日日躁夜夜躁欧美| 激情av综合网| 精品在线播放免费| 日韩精品免费视频人成| 日韩影院免费视频| 亚洲国产人成综合网站| 成人欧美一区二区三区黑人麻豆 | 日韩二区三区四区| 亚洲sss视频在线视频| 综合色中文字幕| 亚洲欧美日韩在线| 蜜桃视频在线观看一区二区| 日日摸夜夜添夜夜添亚洲女人| 亚洲高清在线精品| 日韩精品每日更新| 精品一区二区综合| 国产**成人网毛片九色| 欧美三级中文字| 欧美成人国产一区二区| 26uuu国产电影一区二区| 国产色产综合产在线视频| 国产免费观看久久| 一区二区三区四区不卡在线 | 91国偷自产一区二区三区成为亚洲经典 | 制服视频三区第一页精品| 日韩一区二区三区视频在线观看 | 免费观看91视频大全| 精品一区二区三区的国产在线播放 | 国产91高潮流白浆在线麻豆 | 一区二区三区在线影院| 五月婷婷久久综合| 国产91精品入口| 欧美日韩精品一区视频| 久久久精品影视| 一区二区在线观看视频在线观看| 亚洲地区一二三色| 成人国产精品免费网站| 欧美一区二区在线免费观看| 国产三级欧美三级日产三级99| 亚洲自拍偷拍九九九| 韩国v欧美v日本v亚洲v| 欧美午夜电影在线播放| 2020国产精品| 日日嗨av一区二区三区四区| 成人丝袜18视频在线观看| 欧美videofree性高清杂交| 亚洲精品乱码久久久久久久久 | 亚洲女厕所小便bbb| 成人免费看的视频| 2024国产精品| 在线免费精品视频| 亚洲精选一二三| 色综合一个色综合亚洲| 日本一区二区电影| 成人在线综合网| 国产精品视频免费看| 国产精品亚洲一区二区三区在线| 日韩免费福利电影在线观看| 亚洲va中文字幕| 日韩网站在线看片你懂的| 老司机精品视频一区二区三区| 91国偷自产一区二区三区观看| 欧美喷潮久久久xxxxx| 在线亚洲人成电影网站色www| 欧美福利视频导航| 国产欧美日韩综合| 欧美中文字幕久久| 国产精华液一区二区三区| 亚洲国产精品久久艾草纯爱| 国产亚洲精品久| 狠狠色丁香婷综合久久| 国产精品久久影院| 精品视频一区三区九区| 美国毛片一区二区| 国产精品三级在线观看| 欧美日韩另类一区| 国产精品一区二区不卡| 亚洲欧美aⅴ...| 精品久久人人做人人爱| 一本久道中文字幕精品亚洲嫩| 午夜久久久久久| 国产精品美女久久久久久| 69堂精品视频| 91福利在线看| 国产高清在线精品| 久久精品噜噜噜成人av农村| 亚洲欧美日韩久久| 欧美国产禁国产网站cc| 欧美一区二区视频在线观看2020| 国产福利不卡视频| 精品一区二区久久| 一区二区三区四区精品在线视频 | 91丝袜美腿高跟国产极品老师| 国产成人啪免费观看软件| 久久99精品一区二区三区| 午夜精彩视频在线观看不卡| 亚洲五月六月丁香激情| 性做久久久久久免费观看| 亚洲va欧美va国产va天堂影院| 亚洲国产日韩一区二区| 日韩在线播放一区二区| 亚洲视频你懂的| 综合电影一区二区三区 | 99国产精品视频免费观看| 欧美年轻男男videosbes| 亚洲综合色婷婷| 亚洲大片免费看| 精品亚洲成av人在线观看| 国产高清不卡二三区| 色噜噜狠狠色综合欧洲selulu| 91玉足脚交白嫩脚丫在线播放| 在线看国产日韩| 日韩欧美高清dvd碟片| 国产精品美女一区二区三区| 亚洲老妇xxxxxx| 国产精品456| 欧美zozozo| 午夜免费欧美电影| 成人午夜精品在线| 色欧美片视频在线观看| 另类综合日韩欧美亚洲| 免费精品视频最新在线| 欧美日韩另类一区| 亚洲动漫第一页| 欧美人与禽zozo性伦| 午夜久久久久久| 欧美tk—视频vk| 韩国视频一区二区| 国产精品网友自拍| 处破女av一区二区| 亚洲天堂久久久久久久| 成人av网站免费观看| 中文字幕一区二区三区不卡| 国产成人精品免费一区二区|