سلام
تقریبا 5 سال قبل مواردی که گفتید پیاده سازی کردم و همه موارد قابل اجرا هست
جواب سوال اول بله قابل تنظیم هست
در کلاس
ApplicationUserManager

ApplicationUserManager : UserManager<ApplicationUser>

سوال دوم هم به راحتی قابل پیاده سازی هست و حتی میتوانید منوی داینامیک بر اساس هر رول بسازید شما در این مرحله باید رول داینامیک بسازید و در دیتابیس ذخیره کنید
سول سوم ربطی به timeout=30 ندارد و جای دیگر باید تنظیم انجام داد