I'm trying to build a sample dapp. The login process in ethereum dapps usually involves signing a message from metamask to prove ownership of an account. Is there a way we could design login in such a way that the user gets logged in automatically when sending a transaction (invoking a state changing function). This is feasible since both operations require signing. Any ideas please ?