actix_web_security/user_details/
mod.rs1use downcast_rs::impl_downcast;
4use downcast_rs::Downcast;
5
6pub mod attachment;
7pub mod request_extension;
8
9pub trait UserDetails: Downcast + UserDetailsClone {}
11impl_downcast!(UserDetails);
12
13pub trait UserDetailsClone {
16 fn clone_box(&self) -> Box<dyn UserDetails>;
17}
18
19impl<U> UserDetailsClone for U
20where
21 U: 'static + UserDetails + Clone,
22{
23 fn clone_box(&self) -> Box<dyn UserDetails> {
24 Box::new(self.clone())
25 }
26}
27
28impl Clone for Box<dyn UserDetails> {
29 fn clone(&self) -> Self {
30 self.clone_box()
31 }
32}