本文整理了Java中org.jooby.Request.ifSession
方法的一些代码示例,展示了Request.ifSession
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Request.ifSession
方法的具体详情如下:
包路径:org.jooby.Request
类名称:Request
方法名:ifSession
暂无
代码示例来源:origin: jooby-project/jooby
@Override
public Optional<Session> ifSession() {
return req.ifSession();
}
代码示例来源:origin: jooby-project/jooby
@Override public boolean destroySession(WebContext ctx) {
req.ifSession().ifPresent(Session::destroy);
return true;
}
代码示例来源:origin: jooby-project/jooby
@Override public boolean renewSession(WebContext ctx) {
req.ifSession().ifPresent(Session::renewId);
return true;
}
代码示例来源:origin: jooby-project/jooby
@Override public Object get(WebContext context, String key) {
return req.ifSession()
.map(session -> {
String value = session.get(key).toOptional().orElse(null);
return strToObject(value);
}).orElse(null);
}
代码示例来源:origin: jooby-project/jooby
static Provider profileProvider(AtomicReference<Registry> registry, Class profile,
Function<Request, UserProfile> unauthenticated) {
return () -> {
Request req = registry.get().require(Request.class);
ProfileManager pm = req.require(ProfileManager.class);
Object result = pm.getAll(req.ifSession().isPresent()).stream()
.filter(profile::isInstance)
.findFirst()
.orElse(null);
if (result == null) {
if (unauthenticated == null) {
throw new Err(Status.FORBIDDEN, "Not found: " + profile.getSimpleName());
}
result = unauthenticated.apply(req);
}
return result;
};
}
}
代码示例来源:origin: jooby-project/jooby
@Override public void set(WebContext context, String key, Object value) {
if (value == null) {
req.ifSession().ifPresent(session -> session.unset(key));
} else {
req.session().set(key, objToStr(value));
}
}
代码示例来源:origin: jooby-project/jooby
@SuppressWarnings("unchecked")
@Override
public void handle(final Request req, final Response rsp) throws Throwable {
// DON'T create a session for JWT/param/header auth (a.k.a stateless)
Optional<Session> ifSession = req.ifSession();
if (ifSession.isPresent()) {
Session session = ifSession.get();
Optional<String> profileId = session.unset(Auth.ID).toOptional();
if (profileId.isPresent()) {
Optional<CommonProfile> profile = req.require(AuthStore.class).unset(profileId.get());
log.debug("logout {}", profile);
session.destroy();
}
} else {
log.debug("nothing to logout from session");
}
String redirectTo = req.<String> ifGet("auth.logout.redirectTo").orElse(this.redirectTo);
rsp.redirect(redirectTo);
}
代码示例来源:origin: jooby-project/jooby
private Route.After saveCookie() {
return (req, rsp, result) -> {
req.ifSession().ifPresent(session -> {
Optional<String> value = req.cookie(cookie.name().get()).toOptional();
Map<String, String> initial = value
.map(this::attributes)
.orElse(Collections.emptyMap());
Map<String, String> attributes = session.attributes();
// is dirty?
boolean dirty = !initial.equals(attributes);
log.debug("session dirty: {}", dirty);
if (dirty) {
log.debug("saving session cookie");
String encoded = Cookie.URL_ENCODER.apply(attributes);
String signed = Cookie.Signature.sign(encoded, secret);
rsp.cookie(new Cookie.Definition(cookie).value(signed));
} else if (timeout > 0) {
// touch session
value.ifPresent(raw -> rsp.cookie(new Cookie.Definition(cookie).value(raw)));
}
});
return result;
};
}
代码示例来源:origin: jooby-project/jooby
@Override public void handle(Request req, Response rsp, Route.Chain chain) throws Throwable {
try {
WebContext context = req.require(WebContext.class);
/** 1: don't save authentication urls: */
String existingRequestedUrl = (String) context
.getSessionAttribute(Pac4jConstants.REQUESTED_URL);
boolean resetRequestedUrl = excludes.stream()
.filter(it -> !it.endsWith("/**") && req.matches(it))
.findFirst()
.isPresent();
conf.getSecurityLogic()
.perform(context, conf, new Pac4jGrantAccessAdapter(req, rsp, chain),
conf.getHttpActionAdapter(), clients, authorizers, matchers, multiProfile);
/** 2: don't save authentication urls: */
if (resetRequestedUrl && req.ifSession().isPresent()) {
// log.info("ignoring {} by {}", ctx.g, existingRequestedUrl);
context.setSessionAttribute(Pac4jConstants.REQUESTED_URL, existingRequestedUrl);
}
} catch (TechnicalException x) {
Throwable cause = x.getCause();
if (!(cause instanceof Err)) {
// Pac4j wrap everything as TechnicalException, it makes stacktrace ugly, so we rethrow
// Err
cause = x;
}
throw cause;
}
// }
}
代码示例来源:origin: jooby-project/jooby
req.ifSession().ifPresent(s -> envdata.put("session", dump(s::attributes)));
代码示例来源:origin: org.jooby/jooby
@Override
public Optional<Session> ifSession() {
return req.ifSession();
}
代码示例来源:origin: org.jooby/jooby-pac4j
@SuppressWarnings("unchecked")
@Override
public void handle(final Request req, final Response rsp) throws Throwable {
// DON'T create a session for JWT/param/header auth (a.k.a stateless)
Optional<Session> ifSession = req.ifSession();
if (ifSession.isPresent()) {
Session session = ifSession.get();
Optional<String> profileId = session.unset(Auth.ID).toOptional();
if (profileId.isPresent()) {
Optional<CommonProfile> profile = req.require(AuthStore.class).unset(profileId.get());
log.debug("logout {}", profile);
session.destroy();
}
} else {
log.debug("nothing to logout from session");
}
String redirectTo = req.<String> ifGet("auth.logout.redirectTo").orElse(this.redirectTo);
rsp.redirect(redirectTo);
}
代码示例来源:origin: org.jooby/jooby
private Route.After saveCookie() {
return (req, rsp, result) -> {
req.ifSession().ifPresent(session -> {
Optional<String> value = req.cookie(cookie.name().get()).toOptional();
Map<String, String> initial = value
.map(this::attributes)
.orElse(Collections.emptyMap());
Map<String, String> attributes = session.attributes();
// is dirty?
boolean dirty = !initial.equals(attributes);
log.debug("session dirty: {}", dirty);
if (dirty) {
log.debug("saving session cookie");
String encoded = Cookie.URL_ENCODER.apply(attributes);
String signed = Cookie.Signature.sign(encoded, secret);
rsp.cookie(new Cookie.Definition(cookie).value(signed));
} else if (timeout > 0) {
// touch session
value.ifPresent(raw -> rsp.cookie(new Cookie.Definition(cookie).value(raw)));
}
});
return result;
};
}
代码示例来源:origin: org.jooby/jooby-whoops
req.ifSession().ifPresent(s -> envdata.put("session", dump(s::attributes)));
内容来源于网络,如有侵权,请联系作者删除!