承接上一个篇博文,我们继续向下做翻译。
希望大家共同勉励学习。有错误的地方或者觉得需要补充的地方欢迎留言。
Authentication:
认证和授权的处理方式在Restlet和Servlet的世界中是截然不同的。
在restlet中,你有用绝对的过程控制权,再也没有如同Servlet一样的必要的内部的XML描述。
通常情况下,你只需要使用org.restlet.Guard或者它的子类就可以达到认证的目的。一般的编程过程需要使用一个map去存储登录名和密码信息,如果有自定义的需要,我们可以通过重写“authenticate(Request)”这个方法来达到目的。
这个说明对应的代码大概是这样:
MapVerifier verifier = new MapVerifier();
verifier.getLocalSecrets().put("scott", "tiger".toCharArray());//make map
ChallengeAuthenticator guard = new ChallengeAuthenticator(getContext(),ChallengeScheme.HTTP_BASIC,"");
guard.setVerifier(verifier); //guard authenticate it
-------------------------------------------------
获取到用户名和密码可以使用这样的代码来获取(org.restlet.data.Request):
Request.getChallengeResponse().getIdentifier();//login
Request.getChallengeResponse().get