当前位置: 首页>>代码示例>>Java>>正文


Java RadiusPacket.removeAttribute方法代码示例

本文整理汇总了Java中net.jradius.packet.RadiusPacket.removeAttribute方法的典型用法代码示例。如果您正苦于以下问题:Java RadiusPacket.removeAttribute方法的具体用法?Java RadiusPacket.removeAttribute怎么用?Java RadiusPacket.removeAttribute使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在net.jradius.packet.RadiusPacket的用法示例。


在下文中一共展示了RadiusPacket.removeAttribute方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: processChallenge

import net.jradius.packet.RadiusPacket; //导入方法依赖的package包/类
/**
 * EAP requires a challenge/response. The request packet is reset with a new 
 * RADIUS identifier and the EAP-Message is encoded.
 * @throws NoSuchAlgorithmException 
 * @see net.jradius.client.auth.RadiusAuthenticator#processChallenge(net.jradius.packet.RadiusPacket, net.jradius.packet.RadiusPacket)
 */
public void processChallenge(RadiusPacket p, RadiusPacket r)  throws RadiusException, NoSuchAlgorithmException
{
	super.processChallenge(p, r);
	
    p.setIdentifier(-1);

    byte[] eapReply = AttributeFactory.assembleAttributeList(r.getAttributes(), AttributeDictionary.EAP_MESSAGE);
    byte[] eapMessage = doEAP(eapReply);
    
    RadiusAttribute a = p.findAttribute(AttributeDictionary.EAP_MESSAGE);
    if (a != null) p.removeAttribute(a);
    
    AttributeFactory.addToAttributeList(p.getAttributes(), 
    		AttributeDictionary.EAP_MESSAGE, eapMessage, p.isRecyclable());

    RadiusLog.debug("Sending Challenge:\n" + p.toString());
}
 
开发者ID:coova,项目名称:jradius,代码行数:24,代码来源:EAPAuthenticator.java

示例2: processRequest

import net.jradius.packet.RadiusPacket; //导入方法依赖的package包/类
public void processRequest(RadiusPacket p) throws RadiusException, NoSuchAlgorithmException
{
	if (password == null) throw new RadiusException("no password given");
	
    p.removeAttribute(password);
    
    RadiusAttribute attr;
    byte authChallenge[] = RadiusRandom.getBytes(16);
    byte chapResponse[] = MSCHAP.doMSCHAPv1(password.getValue().getBytes(), authChallenge);

    p.addAttribute(attr = AttributeFactory.newAttribute("MS-CHAP-Challenge"));
    attr.setValue(authChallenge);
    
    p.addAttribute(attr = AttributeFactory.newAttribute("MS-CHAP-Response"));
    attr.setValue(chapResponse);
}
 
开发者ID:coova,项目名称:jradius,代码行数:17,代码来源:MSCHAPv1Authenticator.java

示例3: processRequest

import net.jradius.packet.RadiusPacket; //导入方法依赖的package包/类
public void processRequest(RadiusPacket p) throws RadiusException, NoSuchAlgorithmException
{
	if (password == null) throw new RadiusException("no password given");

	p.removeAttribute(password);
    
    RadiusAttribute attr;
    byte authChallenge[] = RadiusRandom.getBytes(16);
    byte chapResponse[] = CHAP.chapResponse((byte)p.getIdentifier(), password.getValue().getBytes(), authChallenge);

    p.addAttribute(attr = AttributeFactory.newAttribute("CHAP-Challenge"));
    attr.setValue(authChallenge);
        
    p.addAttribute(attr = AttributeFactory.newAttribute("CHAP-Password"));
    attr.setValue(chapResponse);
}
 
开发者ID:coova,项目名称:jradius,代码行数:17,代码来源:CHAPAuthenticator.java

示例4: handle

import net.jradius.packet.RadiusPacket; //导入方法依赖的package包/类
public boolean handle(JRadiusRequest request) throws Exception
{
    JRadiusSession session = request.getSession();
    if (session == null) return noSessionFound(request);
    
    // System.err.println(this.getClass().getName());

    RadiusPacket req = request.getRequestPacket();
    
    byte[] packetClass = (byte[])req.getAttributeValue(Attr_Class.TYPE);
    byte[][] sessionClass = session.getRadiusClass();

    if (packetClass != null || sessionClass != null)
    {
        if (sessionClass == null)
        {
            session.addLogMessage(request, "Request has Class attribute when it should not");
        }
        else
        {
            session.addLogMessage(request, "Missing Class Attribute (added)");
        	req.removeAttribute(Attr_Class.TYPE);
        	for (byte[] a : sessionClass) {
        		req.addAttribute(AttributeFactory.newAttribute(Attr_Class.TYPE, a, req.isRecyclable()));
        	}
        }
    }

    if (req instanceof AccessRequest)
    {
     byte[] sessionState = session.getRadiusState();
     if (sessionState != null)
     {
     	// System.out.println("Missing State Attribute (added) "+sessionState.length+" "+sessionState[0]);
     	req.overwriteAttribute(AttributeFactory.newAttribute(Attr_State.TYPE, sessionState, req.isRecyclable()));
     }
    }
    
    return false;
}
 
开发者ID:coova,项目名称:jradius,代码行数:41,代码来源:ProxyClassHandler.java

示例5: handle

import net.jradius.packet.RadiusPacket; //导入方法依赖的package包/类
public boolean handle(JRadiusRequest request) throws RadiusException
{
    RadiusPacket req = request.getRequestPacket();
    AttributeList ci = request.getConfigItems();
    
    JRadiusSession session = request.getSession();
    if (session == null) return false;
    
    String proxyToRealm = session.getProxyToRealm();
    	    
    if (proxyToRealm != null)
    {
     /*
      *  If this session was the result of a terminated EAP Tunnel,
      *  then proxy accounting to the home realm after adjusting
      *  the User-Name to that in the EAP Tunnel.
      */
     RadiusAttribute a;
     if ((a = req.findAttribute(Attr_StrippedUserName.TYPE)) != null) req.removeAttribute(a);
     if ((a = req.findAttribute(Attr_Realm.TYPE)) != null) req.removeAttribute(a);
     req.overwriteAttribute(new Attr_UserName(session.getUsername() + "@" + session.getRealm()));
     ci.add(new Attr_ProxyToRealm(proxyToRealm));
     request.setReturnValue(JRadiusServer.RLM_MODULE_UPDATED);
     return true;
 }

    return false;
}
 
开发者ID:coova,项目名称:jradius,代码行数:29,代码来源:PreAcctHandler.java

示例6: handle

import net.jradius.packet.RadiusPacket; //导入方法依赖的package包/类
public boolean handle(JRadiusRequest request) throws RadiusException
{
    JRadiusSession session = request.getSession();
    if (session == null) return noSessionFound(request);

    RadiusPacket req = request.getRequestPacket();
    
    byte[] bClass = (byte[]) req.getAttributeValue(Attr_Class.TYPE);
    if (bClass != null)
    {
        String sClass = new String(bClass);
        if (sClass.startsWith(ClassPrefix))
        {
            req.removeAttribute(Attr_Class.TYPE);
        	byte[][] classes = session.getRadiusClass();
            if (classes != null)
            {
            	for (byte[] c : classes)
            	{
             	RadiusAttribute cattr = AttributeFactory.newAttribute(Attr_Class.TYPE, c, req.isRecyclable());
             	req.addAttribute(cattr);
            	}
            }
            return false;
        }
    }

    session.addLogMessage(request, "Accounting without Class Attribute");

    return false;
}
 
开发者ID:coova,项目名称:jradius,代码行数:32,代码来源:AccountingClassHandler.java

示例7: processRequest

import net.jradius.packet.RadiusPacket; //导入方法依赖的package包/类
/**
 * @see net.jradius.client.auth.RadiusAuthenticator#processRequest(net.jradius.packet.RadiusPacket)
 */
public void processRequest(RadiusPacket p) throws RadiusException
{
    p.removeAttribute(AttributeDictionary.USER_PASSWORD);
    RadiusAttribute a = AttributeFactory.newAttribute(AttributeDictionary.EAP_MESSAGE, 
            isStartWithIdentity() ? eapResponse(EAP_IDENTITY, (byte)0, getUsername()) : null, p.isRecyclable());
    p.overwriteAttribute(a);
}
 
开发者ID:coova,项目名称:jradius,代码行数:11,代码来源:EAPAuthenticator.java

示例8: processRequest

import net.jradius.packet.RadiusPacket; //导入方法依赖的package包/类
public void processRequest(RadiusPacket p) throws RadiusException
{
	if (password == null) throw new RadiusException("no password given");

	p.removeAttribute(password);
    
    RadiusAttribute attr;
    p.addAttribute(attr = AttributeFactory.newAttribute("User-Password"));
    attr.setValue(RadiusUtils.encodePapPassword(
			password.getValue().getBytes(), 
         // Create an authenticator (AccessRequest just needs shared secret)
			p.createAuthenticator(null, 0, 0, client.getSharedSecret()), 
         client.getSharedSecret()));
}
 
开发者ID:coova,项目名称:jradius,代码行数:15,代码来源:PAPAuthenticator.java

示例9: processRequest

import net.jradius.packet.RadiusPacket; //导入方法依赖的package包/类
public void processRequest(RadiusPacket p) throws RadiusException, NoSuchAlgorithmException
{
    if (password == null) throw new RadiusException("Password required");
    p.removeAttribute(password);
    
    RadiusAttribute attr;
    byte authChallenge[] = RadiusRandom.getBytes(16);
    byte chapResponse[] = MSCHAP.doMSCHAPv2(username.getValue().getBytes(), password.getValue().getBytes(), authChallenge);

    p.addAttribute(attr = AttributeFactory.newAttribute("MS-CHAP-Challenge"));
    attr.setValue(authChallenge);
    
    p.addAttribute(attr = AttributeFactory.newAttribute("MS-CHAP2-Response"));
    attr.setValue(chapResponse);
}
 
开发者ID:coova,项目名称:jradius,代码行数:16,代码来源:MSCHAPv2Authenticator.java


注:本文中的net.jradius.packet.RadiusPacket.removeAttribute方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。