什么是Portal?

你别说,之前我对它的概念真的是很模糊。。。。

什么是Portal?
Portal是一个基于web的应用程序,它主要提供个性化、单点登录、不同来源的内容整合以及存放信息系统的表示层。

什么是Portlet?
Portlet是基于java技术的web组件,它由portlet容器管理、并处理请求,并动态生成输出内容。

Portlet的输出是一个片段,即不是一个完整的页面。

Portal标准
为规范Portal,SUN于2003年底制定了JSR168,它定义了portlet标准,并给出了一个实现接口。

Portlets与Servlet的异同?
相同点
基于web应用的java技术

由特定的容器管理

动态生成内容

生命周期由容器进行管理

通过request/reponse进行交互

不同点
portlet只生成片段

portlet并不直接绑定到某一个URL上

portlet通过portal进行交互

portlet可以多次在同一个portal页面上同时出现

portlet优点
能访问到用户配置信息

能在不同的域中存储会话:应用程序级到私有级。

portlet与servlet的关系
前者能调用后者,并且能共享信息,包括:Attributes

portlet容器是servlet容器的扩展

portlet无法做到的事情
设置response的字符集编码

设置http header

获取客户端的request

Portlets实例
如果是在普通的场合下使用,即不是在分布式场合,则每个portal应用就会生成一个portlet实例。而如果是在分布式场合下使用的话,则每个jvm只有一个实例。

Portlet生命周期
Portlet接口的四个方法构成一个完整的生命周期:init, processAction,render,destroy

public void init(PortletConfig config) throws PortletException;

由portlet容器调用,在将portlet放入服务区前调用。portlet容器在初始化portlet后,直接调用这个方法。

public void processAction (ActionRequest request, ActionResponse response)

  throws PortletException, java.io.IOException;

由portlet容器调用,用来处理action request。

public void render (RenderRequest request, RenderResponse response)

  throws PortletException, java.io.IOException;

由portlet容器调用,用来生成输出。

public void destroy();

将portlet从服务区中删除。

Portlet URLs
如何生成Portlet URL
RenderResponse.createActionURL

RenderResponse.createRenderURL

调用setParameter、setParameters可以用来设置参数.

如何使用Portlet URL
开发者不可以对参数进行任何编码,它(编码)是由portlet容器进行的。见下面例子:

    PortletURL url = response.createRenderURL();

    url.setParameter(“customer”,”foo.com”);

    url.setParameter(“show”,”summary”);

    writer.print(“Summary”);

portlet URL可以包含portlet的模式及窗口的状态,见下面例子:

    PortletURL url = response.createActionURL();

    url.setParameter(“paymentMethod”,”creditCardInProfile”);

    url.setWindowState(WindowState.MAXIMIZED);

    writer.print(“ ”);

setSecure方法用来设置是否是https 
### Portal 和 RADIUS 的定义 #### RADIUS 协议概述 RADIUS (Remote Authentication Dial-In User Service) 是一种用于网络认证、授权和记账(AAA)的标准协议,在 IETF 的 RFC 2865 和 2866 中进行了定义[^1]。该协议基于 UDP 实现客户机/服务器模式,其中 RADIUS 客户端通常是路由器、交换机或无线访问点。 #### Portal 认证机制简介 Portal 认证是一种基于 Web 页面的身份验证方式,当用户尝试连接到受保护的网络资源时,会被重定向至一个特定的登录页面。只有成功输入有效的用户名和密码后,才能获得对该网络资源的访问权限。这种认证方法广泛应用于企业园区网、公共Wi-Fi热点等场景中。 ### Portal 和 RADIUS 的差异 | 特性 | Portal | RADIUS | |--| | **工作原理** | 用户通过浏览器访问网页并提交凭证 | 设备直接与远程服务器交互进行身份验证 | | **适用范围** | 主要针对HTTP(S)/HTTPS流量 | 支持多种类型的接入请求 | | **实现形式** | 需要在网络边缘部署专门的Portal服务器 | 只需在网络侧配置相应的NAS(Network Access Server)即可 | | **用户体验** | 初次连接时弹出Web表单让用户填写 | 对终端使用者透明 | | **安全性考量** | 凭据传输依赖于SSL/TLS加密 | 使用UDP封装消息体并通过共享密钥保障安全 | ```python # Python伪代码展示两种认证过程的区别: def portal_authentication(): user_input = input("Please enter your credentials on the web page:") if validate_credentials(user_input): grant_network_access() def radius_authentication(device_request, shared_secret_key): encrypted_message = encrypt_with_shared_key(device_request, shared_secret_key) response_from_server = send_to_radius_server(encrypted_message) process_response(response_from_server) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值