Do it manually at the moment you can/need to do it.
externalContext.getSessionMap().put("mainViewMB", new RestrictedViewMB());
This puts a new instance of RestrictedViewMB
in the session scope with the name mainViewMB
, effectively making it a session scoped managed bean.
You only need to take into account that managed properties and @PostConstruct
/@PreDestroy
are not invoked this way, you'd also have to do it manually.