add cas authentication
merge with upstream